Repository: kylin Updated Branches: refs/heads/master 6ca141a9f -> c0c96bba0
KYLIN-2612 fix potential NPE accessing familyMap Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/c0c96bba Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/c0c96bba Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/c0c96bba Branch: refs/heads/master Commit: c0c96bba0ca83b610c266a6ffdedb5728acce820 Parents: 6ca141a Author: shaofengshi <[email protected]> Authored: Sat Jul 22 22:02:13 2017 +0800 Committer: shaofengshi <[email protected]> Committed: Sat Jul 22 22:07:10 2017 +0800 ---------------------------------------------------------------------- .../kylin/rest/service/AclTableMigrationTool.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/c0c96bba/server-base/src/main/java/org/apache/kylin/rest/service/AclTableMigrationTool.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/AclTableMigrationTool.java b/server-base/src/main/java/org/apache/kylin/rest/service/AclTableMigrationTool.java index bb07c22..e8b675e 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/AclTableMigrationTool.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/AclTableMigrationTool.java @@ -223,11 +223,13 @@ public class AclTableMigrationTool { private Map<String, AceInfo> getAllAceInfo(Result result) throws IOException { Map<String, AceInfo> allAceInfoMap = new HashMap<>(); NavigableMap<byte[], byte[]> familyMap = result.getFamilyMap(Bytes.toBytes(AclConstant.ACL_ACES_FAMILY)); - for (Map.Entry<byte[], byte[]> entry : familyMap.entrySet()) { - String sid = new String(entry.getKey()); - AceInfo aceInfo = aceSerializer.deserialize(entry.getValue()); - if (null != aceInfo) { - allAceInfoMap.put(sid, aceInfo); + if(familyMap != null && !familyMap.isEmpty()) { + for (Map.Entry<byte[], byte[]> entry : familyMap.entrySet()) { + String sid = new String(entry.getKey()); + AceInfo aceInfo = aceSerializer.deserialize(entry.getValue()); + if (null != aceInfo) { + allAceInfoMap.put(sid, aceInfo); + } } } return allAceInfoMap;
