You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ch...@apache.org on 2014/04/02 01:32:13 UTC
svn commit: r1583829 - in /pig/trunk: CHANGES.txt
src/org/apache/pig/tools/pigstats/ScriptState.java
Author: cheolsoo
Date: Tue Apr 1 23:32:12 2014
New Revision: 1583829
URL: http://svn.apache.org/r1583829
Log:
PIG-3844: Make ScriptState InheritableThreadLocal for threads that need it
(amatsukawa via cheolsoo)
Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java
Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1583829&r1=1583828&r2=1583829&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Tue Apr 1 23:32:12 2014
@@ -99,6 +99,8 @@ OPTIMIZATIONS
BUG FIXES
+PIG-3844: Make ScriptState InheritableThreadLocal for threads that need it (amatsukawa via cheolsoo)
+
PIG-3837: ant pigperf target is broken in trunk (cheolsoo)
PIG-3836: Pig signature has has guava version dependency (amatsukawa via cheolsoo)
Modified: pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java?rev=1583829&r1=1583828&r2=1583829&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java (original)
+++ pig/trunk/src/org/apache/pig/tools/pigstats/ScriptState.java Tue Apr 1 23:32:12 2014
@@ -130,7 +130,12 @@ public abstract class ScriptState {
private static final Log LOG = LogFactory.getLog(ScriptState.class);
- private static ThreadLocal<ScriptState> tss = new ThreadLocal<ScriptState>();
+ /**
+ * PIG-3844. Each thread should have its own copy of ScriptState. We initialize the ScriptState
+ * for new threads with the ScriptState of its parent thread, using InheritableThreadLocal.
+ * Used eg. in PPNL running in separate thread.
+ */
+ private static InheritableThreadLocal<ScriptState> tss = new InheritableThreadLocal<ScriptState>();
protected String id;