[
https://issues.apache.org/jira/browse/YARN-5921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15690600#comment-15690600
]
Daniel Templeton commented on YARN-5921:
----------------------------------------
I think a RW lock is a little heavy here. [~kasha] has some factoid about how
a RW lock is actually slower than normal synchronization in low-demand
scenarios. Can we just synchronize on an Object?
> Incorrect synchronization in RMContextImpl#setHAServiceState/getHAServiceState
> ------------------------------------------------------------------------------
>
> Key: YARN-5921
> URL: https://issues.apache.org/jira/browse/YARN-5921
> Project: Hadoop YARN
> Issue Type: Bug
> Reporter: Varun Saxena
> Assignee: Varun Saxena
> Attachments: YARN-5921.01.patch
>
>
> Code in RMContextImpl is as under:
> {code:title=RMContextImpl.java|borderStyle=solid}
> void setHAServiceState(HAServiceState haServiceState) {
> synchronized (haServiceState) {
> this.haServiceState = haServiceState;
> }
> }
> public HAServiceState getHAServiceState() {
> synchronized (haServiceState) {
> return haServiceState;
> }
> }
> {code}
> As can be seen above, in setHAServiceState, we are synchronizing on the
> passed haServiceState instead of haServiceState in RMContextImpl which will
> not lead to desired effect. This does not seem to be intentional.
> We can use a RW lock or synchronize on some object here.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]