Prashant Kommireddi created PIG-4223:
----------------------------------------

             Summary: PigStorage using OptionBuilder is not thread-safe
                 Key: PIG-4223
                 URL: https://issues.apache.org/jira/browse/PIG-4223
             Project: Pig
          Issue Type: Bug
    Affects Versions: 0.13.0
            Reporter: Prashant Kommireddi
            Assignee: Prashant Kommireddi
             Fix For: 0.14.0


While creating Options in the PigStorage constructor via 
populateValidOptions(), we started using OptionBuilder to create option 
corresponding to "overwrite" feature. OptionBuilder overuses static variables 
whose state can be manipulated by multiple threads. So when PigStorage tries to 
create a "longOpt", there might be some other thread that might be updating 
"longOpt" to null with a reset on the static variables. This does not seem to 
be safe for use within a multithreaded context.

Here is the ST

Cause5:

java.lang.IllegalArgumentException: must specify longopt

Cause5-StackTrace:

at org.apache.commons.cli.OptionBuilder.create(OptionBuilder.java:330)

at org.apache.pig.builtin.PigStorage.populateValidOptions(PigStorage.java:172)

at org.apache.pig.builtin.PigStorage.<init>(PigStorage.java:207)

... 36 shared with parent



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to