You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sqoop.apache.org by "Veena Basavaraj (JIRA)" <ji...@apache.org> on 2015/02/04 00:24:35 UTC
[jira] [Updated] (SQOOP-1300) ToolRunner is not thread-safe
[ https://issues.apache.org/jira/browse/SQOOP-1300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Veena Basavaraj updated SQOOP-1300:
-----------------------------------
Fix Version/s: 2.0.0
> 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
> Labels: tools
> Fix For: 2.0.0
>
>
> 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.3.4#6332)