You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by ja...@apache.org on 2017/11/18 15:29:46 UTC

[12/28] carbondata git commit: [CARBONDATA-1326] Fixed high priority findbug issue

[CARBONDATA-1326] Fixed high priority findbug issue

 Fixed high priority findbug issue

This closes #1507


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

Branch: refs/heads/fgdatamap
Commit: 0f46ef04d66a513f0987b05ace393016c151fd1c
Parents: 5fc7f06
Author: dhatchayani <dh...@gmail.com>
Authored: Thu Nov 16 16:52:18 2017 +0530
Committer: Jacky Li <ja...@qq.com>
Committed: Fri Nov 17 14:51:58 2017 +0800

----------------------------------------------------------------------
 .../core/cache/dictionary/ManageDictionaryAndBTree.java | 12 +++++-------
 .../datastore/page/encoding/bool/BooleanConvert.java    |  4 +++-
 .../core/statusmanager/SegmentStatusManager.java        |  8 ++++++--
 .../org/apache/carbondata/core/util/CarbonUtil.java     |  3 ++-
 4 files changed, 16 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/carbondata/blob/0f46ef04/core/src/main/java/org/apache/carbondata/core/cache/dictionary/ManageDictionaryAndBTree.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/carbondata/core/cache/dictionary/ManageDictionaryAndBTree.java b/core/src/main/java/org/apache/carbondata/core/cache/dictionary/ManageDictionaryAndBTree.java
index f8d2495..4f8f724 100644
--- a/core/src/main/java/org/apache/carbondata/core/cache/dictionary/ManageDictionaryAndBTree.java
+++ b/core/src/main/java/org/apache/carbondata/core/cache/dictionary/ManageDictionaryAndBTree.java
@@ -102,14 +102,12 @@ public class ManageDictionaryAndBTree {
     // clear Btree cache from LRU cache
     LoadMetadataDetails[] loadMetadataDetails =
         SegmentStatusManager.readLoadMetadata(carbonTable.getMetaDataFilepath());
-    if (null != loadMetadataDetails) {
-      String[] segments = new String[loadMetadataDetails.length];
-      int i = 0;
-      for (LoadMetadataDetails loadMetadataDetail : loadMetadataDetails) {
-        segments[i++] = loadMetadataDetail.getLoadName();
-      }
-      invalidateBTreeCache(carbonTable.getAbsoluteTableIdentifier(), segments);
+    String[] segments = new String[loadMetadataDetails.length];
+    int i = 0;
+    for (LoadMetadataDetails loadMetadataDetail : loadMetadataDetails) {
+      segments[i++] = loadMetadataDetail.getLoadName();
     }
+    invalidateBTreeCache(carbonTable.getAbsoluteTableIdentifier(), segments);
     // clear dictionary cache from LRU cache
     List<CarbonDimension> dimensions =
         carbonTable.getDimensionByTableName(carbonTable.getTableName());

http://git-wip-us.apache.org/repos/asf/carbondata/blob/0f46ef04/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/bool/BooleanConvert.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/bool/BooleanConvert.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/bool/BooleanConvert.java
index b373adf..10a9767 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/bool/BooleanConvert.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/bool/BooleanConvert.java
@@ -17,6 +17,8 @@
 
 package org.apache.carbondata.core.datastore.page.encoding.bool;
 
+import java.util.Locale;
+
 /**
  * convert tools for boolean data type
  */
@@ -51,7 +53,7 @@ public class BooleanConvert {
    * @return Boolean type data
    */
   public static Boolean parseBoolean(String input) {
-    String value = input.toLowerCase();
+    String value = input.toLowerCase(Locale.getDefault());
     if (("false").equals(value)) {
       return Boolean.FALSE;
     } else if (("true").equals(value)) {

http://git-wip-us.apache.org/repos/asf/carbondata/blob/0f46ef04/core/src/main/java/org/apache/carbondata/core/statusmanager/SegmentStatusManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/carbondata/core/statusmanager/SegmentStatusManager.java b/core/src/main/java/org/apache/carbondata/core/statusmanager/SegmentStatusManager.java
index e3dbfed..1944f96 100644
--- a/core/src/main/java/org/apache/carbondata/core/statusmanager/SegmentStatusManager.java
+++ b/core/src/main/java/org/apache/carbondata/core/statusmanager/SegmentStatusManager.java
@@ -120,6 +120,10 @@ public class SegmentStatusManager {
         BufferedReader buffReader =
             new BufferedReader(new InputStreamReader(dataInputStream, "UTF-8"));
         loadFolderDetailsArray = gson.fromJson(buffReader, LoadMetadataDetails[].class);
+        // if loadFolderDetailsArray is null, assign a empty array
+        if (null == loadFolderDetailsArray) {
+          loadFolderDetailsArray = new LoadMetadataDetails[0];
+        }
         //just directly iterate Array
         for (LoadMetadataDetails segment : loadFolderDetailsArray) {
           if (SegmentStatus.SUCCESS == segment.getSegmentStatus() ||
@@ -287,7 +291,7 @@ public class SegmentStatusManager {
         }
         // read existing metadata details in load metadata.
         listOfLoadFolderDetailsArray = readLoadMetadata(tableFolderPath);
-        if (listOfLoadFolderDetailsArray != null && listOfLoadFolderDetailsArray.length != 0) {
+        if (listOfLoadFolderDetailsArray.length != 0) {
           updateDeletionStatus(loadIds, listOfLoadFolderDetailsArray, invalidLoadIds);
           if (invalidLoadIds.isEmpty()) {
             // All or None , if anything fails then dont write
@@ -371,7 +375,7 @@ public class SegmentStatusManager {
         }
         // read existing metadata details in load metadata.
         listOfLoadFolderDetailsArray = readLoadMetadata(tableFolderPath);
-        if (listOfLoadFolderDetailsArray != null && listOfLoadFolderDetailsArray.length != 0) {
+        if (listOfLoadFolderDetailsArray.length != 0) {
           updateDeletionStatus(loadDate, listOfLoadFolderDetailsArray, invalidLoadTimestamps,
               loadStartTime);
           if (invalidLoadTimestamps.isEmpty()) {

http://git-wip-us.apache.org/repos/asf/carbondata/blob/0f46ef04/core/src/main/java/org/apache/carbondata/core/util/CarbonUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/carbondata/core/util/CarbonUtil.java b/core/src/main/java/org/apache/carbondata/core/util/CarbonUtil.java
index bdd7ba3..1e402d0 100644
--- a/core/src/main/java/org/apache/carbondata/core/util/CarbonUtil.java
+++ b/core/src/main/java/org/apache/carbondata/core/util/CarbonUtil.java
@@ -35,6 +35,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 
@@ -753,7 +754,7 @@ public final class CarbonUtil {
   }
 
   private static boolean checkIfPrefixExists(String path) {
-    final String lowerPath = path.toLowerCase();
+    final String lowerPath = path.toLowerCase(Locale.getDefault());
     return lowerPath.startsWith(CarbonCommonConstants.HDFSURL_PREFIX) ||
         lowerPath.startsWith(CarbonCommonConstants.VIEWFSURL_PREFIX) ||
         lowerPath.startsWith(CarbonCommonConstants.LOCAL_FILE_PREFIX) ||