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

Reply via email to