[
https://issues.apache.org/jira/browse/YARN-573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13725505#comment-13725505
]
Omkar Vinit Joshi commented on YARN-573:
----------------------------------------
[~jlowe] Thanks for reviewing..
bq. LocalizerRunner.pending is accessed without synchronization in the update()
method. Maybe it would be simpler to just use a SynchronizedList wrapper? That
would make it a bit more robust in light of maintenance changes in the future
as well.
Yeah my bad.. missed update call... that should be fixed...regarding using
synchronized list; I thought about it earlier but we are using iterator
internally and we are modifying list using that iterator which won't be thread
safe. Let me know if we should use Collections.synchronizedList or should
synchronize on list? Correct me if I am wrong anywhere.
bq. Nit: The PublicLocalizer constructor that takes a Map isn't really used,
and as we know pending can't be just any Map for it to work properly. I'd be
tempted to remove that constructor, but it's not a necessary change.
Yes you are right we should change the constructor to use ConcurrentMap. I will
fix it together with above question/comment.
> Shared data structures in Public Localizer and Private Localizer are not
> Thread safe.
> -------------------------------------------------------------------------------------
>
> Key: YARN-573
> URL: https://issues.apache.org/jira/browse/YARN-573
> Project: Hadoop YARN
> Issue Type: Sub-task
> Reporter: Omkar Vinit Joshi
> Assignee: Omkar Vinit Joshi
> Priority: Critical
> Attachments: YARN-573-20130730.1.patch
>
>
> PublicLocalizer
> 1) pending accessed by addResource (part of event handling) and run method
> (as a part of PublicLocalizer.run() ).
> PrivateLocalizer
> 1) pending accessed by addResource (part of event handling) and
> findNextResource (i.remove()).
--
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