[
https://issues.apache.org/jira/browse/HADOOP-13179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15292712#comment-15292712
]
Chris Nauroth commented on HADOOP-13179:
----------------------------------------
Hello [~mahongbin]. Thank you for the patch.
I was thinking that it would be better to make
{{GenericOptionsParser#buildGeneralOptions}} a {{synchronized}} method. All of
the usage of the non-thread-safe {{OptionBuilder}} class is inside that method.
By making that method {{synchronized}}, we'd fix the problem for all potential
users of the {{GenericOptionsParser}} class, not just usage through
{{ToolRunner}}.
Could you please take a look at our wiki page on how to contribute?
https://wiki.apache.org/hadoop/HowToContribute
Specifically, there are some instructions in there about how to name patch file
attachments so that they trigger our pre-commit testing.
> TooRunner is not thread-safe because commons-cli OptionBuilder is not
> thread-safe
> ---------------------------------------------------------------------------------
>
> Key: HADOOP-13179
> URL: https://issues.apache.org/jira/browse/HADOOP-13179
> Project: Hadoop Common
> Issue Type: Bug
> Reporter: hongbin ma
> Assignee: hongbin ma
> Priority: Minor
> Fix For: 2.8.0
>
> Attachments: HADOOP-13179-master.patch
>
>
> I'm running into similar issues like
> http://stackoverflow.com/questions/22462665/is-hadoops-toorunner-thread-safe,
> the author's observation seem to make sense to me. However when I checked the
> hadoop github trunk I found the issue still not fixed.
> Chris Nauroth further investigated this issue, here's his quote:
> {quote}
> The root cause is that commons-cli OptionBuilder is not thread-safe.
> https://commons.apache.org/proper/commons-cli/apidocs/org/apache/commons/cl
> i/OptionBuilder.html
> According to this issue, commons-cli doesn't plan to change that and
> instead chose to document the lack of thread-safety.
> https://issues.apache.org/jira/browse/CLI-209
> I think we can solve this in Hadoop, probably with a one-line change to
> make GenericOptionsParser#buildGeneralOptions a synchronized method.
> {quote}
> I'll soon upload a patch for this
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]