Fixed a minor bug in LSMBTree merge.

git-svn-id: https://hyracks.googlecode.com/svn/branches/hyracks_lsm_tree@1144 123451ca-8445-de46-9d55-352943316053
diff --git a/hyracks-storage-am-lsm-btree/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/btree/impls/LSMBTree.java b/hyracks-storage-am-lsm-btree/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/btree/impls/LSMBTree.java
index cec8f76..ace9bf3 100644
--- a/hyracks-storage-am-lsm-btree/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/btree/impls/LSMBTree.java
+++ b/hyracks-storage-am-lsm-btree/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/btree/impls/LSMBTree.java
@@ -357,6 +357,11 @@
         List<Object> mergingDiskBTrees = lsmHarness.search(cursor, (RangePredicate) rangePred, ctx, false);
         mergedComponents.addAll(mergingDiskBTrees);
         
+        // Nothing to merge.
+        if (mergedComponents.isEmpty()) {
+            return null;
+        }
+        
         // Bulk load the tuples from all on-disk BTrees into the new BTree.
         BTree mergedBTree = createMergeTargetBTree(mergedComponents);
         IIndexBulkLoadContext bulkLoadCtx = mergedBTree.beginBulkLoad(1.0f);
diff --git a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMHarness.java b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMHarness.java
index afacc1f..033e68c 100644
--- a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMHarness.java
+++ b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMHarness.java
@@ -180,6 +180,10 @@
         
         List<Object> mergedComponents = new ArrayList<Object>();
         Object newComponent = lsmTree.merge(mergedComponents);
+        // No merge happened.
+        if (newComponent == null) {
+            return;
+        }
         
         // Remove the old Trees from the list, and add the new merged Tree(s).
         // Also, swap the searchRefCount.