Repository: asterixdb Updated Branches: refs/heads/master 536c707dc -> 89e6a9327
[ASTERIXDB-2135][IDX] Prevent NPE in LSMBTreePointSearchCursor - user model changes: no - storage format changes: no - interface changes: no Details: - Prevent NPE on LSMBTreePointSearchCursor.close Change-Id: I062c1200d9c5a1a574a1ccdb32be0ac011406d92 Reviewed-on: https://asterix-gerrit.ics.uci.edu/2081 Sonar-Qube: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Tested-by: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Contrib: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Integration-Tests: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Reviewed-by: Ian Maxon <ima...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/89e6a932 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/89e6a932 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/89e6a932 Branch: refs/heads/master Commit: 89e6a93277205a9dbc76c18e249919a745d224d2 Parents: 536c707 Author: Murtadha Hubail <mhub...@apache.org> Authored: Wed Oct 18 19:38:49 2017 +0300 Committer: Murtadha Hubail <mhub...@apache.org> Committed: Wed Oct 18 13:08:51 2017 -0700 ---------------------------------------------------------------------- .../am/lsm/btree/impls/LSMBTreePointSearchCursor.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/89e6a932/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java index c178b51..0f7aa38 100644 --- a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java +++ b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreePointSearchCursor.java @@ -214,9 +214,7 @@ public class LSMBTreePointSearchCursor implements ITreeIndexCursor { public void close() throws HyracksDataException { if (lsmHarness != null) { try { - for (int i = 0; i < rangeCursors.length; i++) { - rangeCursors[i].close(); - } + closeCursors(); rangeCursors = null; } finally { lsmHarness.endSearch(opCtx); @@ -265,4 +263,13 @@ public class LSMBTreePointSearchCursor implements ITreeIndexCursor { return false; } + private void closeCursors() throws HyracksDataException { + if (rangeCursors != null) { + for (int i = 0; i < rangeCursors.length; ++i) { + if (rangeCursors[i] != null) { + rangeCursors[i].close(); + } + } + } + } }