[
https://issues.apache.org/jira/browse/YARN-357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13570758#comment-13570758
]
Siddharth Seth commented on YARN-357:
-------------------------------------
Couldn't see any reason for submitApplication to be synchronized, so this looks
good.
Minor nits in the unit test.
- An assert within a thread will not cause the test to fail. The test works
however, since it'll time out. Having an explicit error may be better.
- The test ends up relying on Mockito handling multiple threads - and resetting
a mock mid way through an invocation. Was playing with this - mockito seemed to
be serializing invocations to the mock. So the second submit would hang,
without the reset. Chaining is supposed to work via -
doAnswer().doNothing.when().... Think it may be better to write a custom
eventHandler for this test.
There's a bunch of other synchronized methods in RMAppManager, which could
likely be cleaned up. Will open a separate jira to track this.
> App submission should not be synchronized
> -----------------------------------------
>
> Key: YARN-357
> URL: https://issues.apache.org/jira/browse/YARN-357
> Project: Hadoop YARN
> Issue Type: Bug
> Components: resourcemanager
> Affects Versions: 0.23.3, 3.0.0, 2.0.0-alpha
> Reporter: Daryn Sharp
> Assignee: Daryn Sharp
> Attachments: YARN-357.patch, YARN-357.patch
>
>
> MAPREDUCE-2953 fixed a race condition with querying of app status by making
> {{RMClientService#submitApplication}} synchronously invoke
> {{RMAppManager#submitApplication}}. However, the {{synchronized}} keyword was
> also added to {{RMAppManager#submitApplication}} with the comment:
> bq. I made the submitApplication synchronized to keep it consistent with the
> other routines in RMAppManager although I do not believe it needs it since
> the rmapp datastructure is already a concurrentMap and I don't see anything
> else that would be an issue.
> It's been observed that app submission latency is being unnecessarily
> impacted.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira