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(); } }
