YARN-4398. Remove unnecessary synchronization in RMStateStore. Contributed by Ning Ding

This commit is contained in:
Jian He 2015-12-02 11:07:18 -08:00
parent 9b516a2a05
commit 48cbde9083
3 changed files with 8 additions and 9 deletions

View File

@ -1069,6 +1069,8 @@ Release 2.7.3 - UNRELEASED
YARN-4380. TestResourceLocalizationService.testDownloadingResourcesOnContainerKill
fails intermittently. (Varun Saxena via ozawa)
YARN-4398. Remove unnecessary synchronization in RMStateStore. (Ning Ding via jianhe)
Release 2.7.2 - UNRELEASED
INCOMPATIBLE CHANGES

View File

@ -64,7 +64,7 @@ public class AsyncDispatcher extends AbstractService implements Dispatcher {
// For drainEventsOnStop enabled only, block newly coming events into the
// queue while stopping.
private volatile boolean blockNewEvents = false;
private EventHandler handlerInstance = null;
private final EventHandler handlerInstance = new GenericEventHandler();
private Thread eventHandlingThread;
protected final Map<Class<? extends Enum>, EventHandler> eventDispatchers;
@ -224,9 +224,6 @@ public void register(Class<? extends Enum> eventType,
@Override
public EventHandler getEventHandler() {
if (handlerInstance == null) {
handlerInstance = new GenericEventHandler();
}
return handlerInstance;
}

View File

@ -737,7 +737,7 @@ public void checkVersion() throws Exception {
* RMAppStoredEvent will be sent on completion to notify the RMApp
*/
@SuppressWarnings("unchecked")
public synchronized void storeNewApplication(RMApp app) {
public void storeNewApplication(RMApp app) {
ApplicationSubmissionContext context = app
.getApplicationSubmissionContext();
assert context instanceof ApplicationSubmissionContextPBImpl;
@ -748,7 +748,7 @@ public synchronized void storeNewApplication(RMApp app) {
}
@SuppressWarnings("unchecked")
public synchronized void updateApplicationState(
public void updateApplicationState(
ApplicationStateData appState) {
dispatcher.getEventHandler().handle(new RMStateUpdateAppEvent(appState));
}
@ -780,7 +780,7 @@ protected abstract void updateApplicationStateInternal(ApplicationId appId,
* This does not block the dispatcher threads
* RMAppAttemptStoredEvent will be sent on completion to notify the RMAppAttempt
*/
public synchronized void storeNewApplicationAttempt(RMAppAttempt appAttempt) {
public void storeNewApplicationAttempt(RMAppAttempt appAttempt) {
Credentials credentials = getCredentialsFromAppAttempt(appAttempt);
AggregateAppResourceUsage resUsage =
@ -798,7 +798,7 @@ public synchronized void storeNewApplicationAttempt(RMAppAttempt appAttempt) {
}
@SuppressWarnings("unchecked")
public synchronized void updateApplicationAttemptState(
public void updateApplicationAttemptState(
ApplicationAttemptStateData attemptState) {
dispatcher.getEventHandler().handle(
new RMStateUpdateAppAttemptEvent(attemptState));
@ -963,7 +963,7 @@ public void storeOrUpdateAMRMTokenSecretManager(
* There is no notification of completion for this operation.
*/
@SuppressWarnings("unchecked")
public synchronized void removeApplication(RMApp app) {
public void removeApplication(RMApp app) {
ApplicationStateData appState =
ApplicationStateData.newInstance(app.getSubmitTime(),
app.getStartTime(), app.getApplicationSubmissionContext(),