sqoop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ajay Chitre (JIRA)" <j...@apache.org>
Subject [jira] [Created] (SQOOP-1300) ToolRunner is not thread-safe
Date Tue, 25 Mar 2014 18:38:17 GMT
Ajay Chitre created SQOOP-1300:

             Summary: ToolRunner is not thread-safe
                 Key: SQOOP-1300
                 URL: https://issues.apache.org/jira/browse/SQOOP-1300
             Project: Sqoop
          Issue Type: Bug
          Components: tools
            Reporter: Ajay Chitre
            Priority: Critical

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 a correct way of fixing this, either we can provide a patch or someone
can quickly fix it.  Thanks.

- Ajay Chitre

Virendra Singh

This message was sent by Atlassian JIRA

View raw message