[
https://issues.apache.org/jira/browse/HADOOP-10436?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14060360#comment-14060360
]
Tsuyoshi OZAWA commented on HADOOP-10436:
-----------------------------------------
[~bdechoux], thank you for your comment.
{quote}
All tools relying on OptionBuilder (and most do) are not thread safe...
{quote}
Do you mean we should modify {{OptionBuilder}}? IMO, it's also useful to make
GenericOptionsParse thread-safe. What do you think?
> ToolRunner is not thread-safe
> -----------------------------
>
> Key: HADOOP-10436
> URL: https://issues.apache.org/jira/browse/HADOOP-10436
> Project: Hadoop Common
> Issue Type: Bug
> Components: util
> Reporter: Ajay Chitre
> Assignee: Tsuyoshi OZAWA
> Attachments: HADOOP-10436.1.patch
>
>
> ToolRunner class is not thread-safe because it uses GenericOptionsParser.
> The constructor of GenericOptionsParser uses 'OptionBuilder' which is a
> singleton class that uses instance variables. In other words, OptionBuilder
> is NOT thread safe. As a result, when multiple Hadoop jobs are triggered
> simultaneously using ToolRunner they end up stepping on each other.
> The easiest way to fix it is by making 'buildGeneralOptions' synchronized in
> GenericOptionsParser.
> private static synchronized Options buildGeneralOptions(Options opts) {
> If this seems like the correct way of fixing this, either we can provide a
> patch or someone can quickly fix it. Thanks.
> Ajay Chitre
> [email protected]
> Virendra Singh
> [email protected]
--
This message was sent by Atlassian JIRA
(v6.2#6252)