You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sqoop.apache.org by "Ajay Chitre (JIRA)" <ji...@apache.org> on 2014/03/25 19:38:17 UTC
[jira] [Created] (SQOOP-1300) ToolRunner is not thread-safe
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
achitre@cisco.com
Virendra Singh
virsingh@cisco.com
--
This message was sent by Atlassian JIRA
(v6.2#6252)