Repository: carbondata
Updated Branches:
  refs/heads/master 146249537 -> 2c4e6c45e


[CARBONDATA-1351]Fix NPE of 'ThreadLocalTaskInfo.getCarbonTaskInfo()' When 
'SORT_SCOPE'='GLOBAL_SORT' and 'enable.unsafe.columnpage'='true'

Set the CarbonTaskInfo in the method of 
'ThreadLocalTaskInfo.getCarbonTaskInfo()' when 'threadLocal.get()' is null.

This closes #1221


Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo
Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/2c4e6c45
Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/2c4e6c45
Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/2c4e6c45

Branch: refs/heads/master
Commit: 2c4e6c45ebb81396737de2ff8834af0b1faa9912
Parents: 1462495
Author: Zhang Zhichao <[email protected]>
Authored: Tue Aug 1 16:42:16 2017 +0800
Committer: Jacky Li <[email protected]>
Committed: Wed Aug 2 01:16:07 2017 +0800

----------------------------------------------------------------------
 .../apache/carbondata/core/indexstore/UnsafeMemoryDMStore.java  | 3 +--
 .../org/apache/carbondata/core/util/ThreadLocalTaskInfo.java    | 5 +++++
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/carbondata/blob/2c4e6c45/core/src/main/java/org/apache/carbondata/core/indexstore/UnsafeMemoryDMStore.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/core/indexstore/UnsafeMemoryDMStore.java
 
b/core/src/main/java/org/apache/carbondata/core/indexstore/UnsafeMemoryDMStore.java
index 13951dc..eb67294 100644
--- 
a/core/src/main/java/org/apache/carbondata/core/indexstore/UnsafeMemoryDMStore.java
+++ 
b/core/src/main/java/org/apache/carbondata/core/indexstore/UnsafeMemoryDMStore.java
@@ -48,8 +48,7 @@ public class UnsafeMemoryDMStore {
 
   private int rowCount;
 
-  private final long taskId = null != ThreadLocalTaskInfo.getCarbonTaskInfo() ?
-      ThreadLocalTaskInfo.getCarbonTaskInfo().getTaskId() : System.nanoTime();
+  private final long taskId = 
ThreadLocalTaskInfo.getCarbonTaskInfo().getTaskId();
 
   public UnsafeMemoryDMStore(DataMapSchema[] schema) throws MemoryException {
     this.schema = schema;

http://git-wip-us.apache.org/repos/asf/carbondata/blob/2c4e6c45/core/src/main/java/org/apache/carbondata/core/util/ThreadLocalTaskInfo.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/core/util/ThreadLocalTaskInfo.java 
b/core/src/main/java/org/apache/carbondata/core/util/ThreadLocalTaskInfo.java
index 8c871b8..1e83e0d 100644
--- 
a/core/src/main/java/org/apache/carbondata/core/util/ThreadLocalTaskInfo.java
+++ 
b/core/src/main/java/org/apache/carbondata/core/util/ThreadLocalTaskInfo.java
@@ -28,6 +28,11 @@ public class ThreadLocalTaskInfo {
   }
 
   public static CarbonTaskInfo getCarbonTaskInfo() {
+    if (null == threadLocal.get()) {
+      CarbonTaskInfo carbonTaskInfo = new CarbonTaskInfo();
+      carbonTaskInfo.setTaskId(System.nanoTime());
+      ThreadLocalTaskInfo.setCarbonTaskInfo(carbonTaskInfo);
+    }
     return threadLocal.get();
   }
 }

Reply via email to