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)