Ajay Chitre created HADOOP-10436:
------------------------------------

             Summary: 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


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
achi...@cisco.com

Virendra Singh
virsi...@cisco.com




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to