[CARBONDATA-1750] Fix NPE when tablestatus file is empty Fix NPE when tablestatus file is empty
This closes #1517 Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/52bf7c81 Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/52bf7c81 Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/52bf7c81 Branch: refs/heads/fgdatamap Commit: 52bf7c81c8ecc632bdfaee6225a2e83ca697c475 Parents: c3e326e Author: QiangCai <qiang...@qq.com> Authored: Fri Nov 17 10:45:13 2017 +0800 Committer: Jacky Li <jacky.li...@qq.com> Committed: Fri Nov 17 15:54:26 2017 +0800 ---------------------------------------------------------------------- .../carbondata/core/statusmanager/SegmentStatusManager.java | 6 ++++++ 1 file changed, 6 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/carbondata/blob/52bf7c81/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 1944f96..2409219 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 @@ -205,11 +205,17 @@ public class SegmentStatusManager { listOfLoadFolderDetailsArray = gsonObjectToRead.fromJson(buffReader, LoadMetadataDetails[].class); } catch (IOException e) { + LOG.error(e, "Failed to read metadata of load"); return new LoadMetadataDetails[0]; } finally { closeStreams(buffReader, inStream, dataInputStream); } + // if listOfLoadFolderDetailsArray is null, return empty array + if (null == listOfLoadFolderDetailsArray) { + return new LoadMetadataDetails[0]; + } + return listOfLoadFolderDetailsArray; }