incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From amccu...@apache.org
Subject git commit: Correcting some mutation behavior. While updating a Row and using replace columns or append columns if the record was missing an exception was thrown. This was incorrect, the behavior should be to simply add the record if it did not exist.
Date Sun, 15 Sep 2013 00:49:10 GMT
Updated Branches:
  refs/heads/master ffd701822 -> 32947c7b4


Correcting some mutation behavior.  While updating a Row and using replace columns or append
columns if the record was missing an exception was thrown.  This was incorrect, the behavior
should be to simply add the record if it did not exist.


Project: http://git-wip-us.apache.org/repos/asf/incubator-blur/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-blur/commit/32947c7b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-blur/tree/32947c7b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-blur/diff/32947c7b

Branch: refs/heads/master
Commit: 32947c7b4dbd10f028e0aa9d9bbcd4b27e1fe58a
Parents: ffd7018
Author: Aaron McCurry <amccurry@gmail.com>
Authored: Sat Sep 14 20:25:01 2013 -0400
Committer: Aaron McCurry <amccurry@gmail.com>
Committed: Sat Sep 14 20:25:01 2013 -0400

----------------------------------------------------------------------
 .../org/apache/blur/manager/IndexManager.java   | 15 ++-------
 .../apache/blur/manager/IndexManagerTest.java   | 33 +++++++++++++++-----
 2 files changed, 27 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/32947c7b/blur-core/src/main/java/org/apache/blur/manager/IndexManager.java
----------------------------------------------------------------------
diff --git a/blur-core/src/main/java/org/apache/blur/manager/IndexManager.java b/blur-core/src/main/java/org/apache/blur/manager/IndexManager.java
index 477c238..37b4393 100644
--- a/blur-core/src/main/java/org/apache/blur/manager/IndexManager.java
+++ b/blur-core/src/main/java/org/apache/blur/manager/IndexManager.java
@@ -1005,12 +1005,11 @@ public class IndexManager {
         // do nothing as missing record is already in desired state
         break;
       case APPEND_COLUMN_VALUES:
-        throw new BException("Mutation cannot append column values to non-existent record",
recordMutation);
       case REPLACE_ENTIRE_RECORD:
+      case REPLACE_COLUMNS:
+        // If record do not exist, create new record in Row
         newRow.addToRecords(recordMutation.record);
         break;
-      case REPLACE_COLUMNS:
-        throw new BException("Mutation cannot replace columns in non-existent record", recordMutation);
       default:
         throw new RuntimeException("Unsupported record mutation type [" + type + "]");
       }
@@ -1056,16 +1055,6 @@ public class IndexManager {
     }
   }
 
-  // private boolean isSameRecord(Record existingRecord, Record mutationRecord)
-  // {
-  // if (existingRecord.recordId.equals(mutationRecord.recordId)) {
-  // if (existingRecord.family.equals(mutationRecord.family)) {
-  // return true;
-  // }
-  // }
-  // return false;
-  // }
-
   private int getNumberOfShards(String table) {
     return _indexServer.getShardCount(table);
   }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/32947c7b/blur-core/src/test/java/org/apache/blur/manager/IndexManagerTest.java
----------------------------------------------------------------------
diff --git a/blur-core/src/test/java/org/apache/blur/manager/IndexManagerTest.java b/blur-core/src/test/java/org/apache/blur/manager/IndexManagerTest.java
index be4487e..82748f0 100644
--- a/blur-core/src/test/java/org/apache/blur/manager/IndexManagerTest.java
+++ b/blur-core/src/test/java/org/apache/blur/manager/IndexManagerTest.java
@@ -1052,24 +1052,32 @@ public class IndexManagerTest {
     assertTrue("column 2 should be in record", r.columns.contains(c2));
   }
 
-  @Test(expected = BlurException.class)
+  @Test
   public void testMutationUpdateRowMissingRecordReplaceColumns() throws Exception {
     Column c1 = newColumn("testcol4", "value999");
     Column c2 = newColumn("testcol5", "value9999");
     String rec = "record-1B";
     RecordMutation rm = newRecordMutation(REPLACE_COLUMNS, FAMILY, rec, c1, c2);
 
-    updateAndFetchRecord("row-1", rec, rm);
+    Record r = updateAndFetchRecord("row-1", rec, rm);
+    assertNotNull("record should exist", r);
+    assertEquals("only 2 columns in record", 2, r.getColumnsSize());
+    assertTrue("column 1 should be in record", r.columns.contains(c1));
+    assertTrue("column 2 should be in record", r.columns.contains(c2));
   }
 
-  @Test(expected = BlurException.class)
+  @Test
   public void testMutationUpdateMissingRowReplaceColumns() throws Exception {
     Column c1 = newColumn("testcol1", "value999");
     Column c2 = newColumn("testcol2", "value9999");
     String rec = "record-6";
     RecordMutation rm = newRecordMutation(REPLACE_COLUMNS, FAMILY, rec, c1, c2);
 
-    updateAndFetchRecord("row-6", rec, rm);
+    Record r = updateAndFetchRecord("row-6", rec, rm);
+    assertNotNull("record should exist", r);
+    assertEquals("only 2 columns in record", 2, r.getColumnsSize());
+    assertTrue("column 1 should be in record", r.columns.contains(c1));
+    assertTrue("column 2 should be in record", r.columns.contains(c2));
   }
 
   @Test
@@ -1112,7 +1120,7 @@ public class IndexManagerTest {
     assertEquals("should not find other columns", 0, others);
   }
 
-  @Test(expected = BlurException.class)
+  @Test
   public void testMutationUpdateRowMissingRecordAppendColumns() throws Exception {
     Column c1 = newColumn("testcol1", "value999");
     Column c2 = newColumn("testcol2", "value9999");
@@ -1120,17 +1128,26 @@ public class IndexManagerTest {
     String rec = "record-1B";
     RecordMutation rm = newRecordMutation(APPEND_COLUMN_VALUES, FAMILY, rec, c1, c2, c3);
 
-    updateAndFetchRecord("row-1", rec, rm);
+    Record r = updateAndFetchRecord("row-1", rec, rm);
+    assertNotNull("record should exist", r);
+    assertEquals("only 3 columns in record", 3, r.getColumnsSize());
+    assertTrue("column 1 should be in record", r.columns.contains(c1));
+    assertTrue("column 2 should be in record", r.columns.contains(c2));
+    assertTrue("column 3 should be in record", r.columns.contains(c3));
   }
 
-  @Test(expected = BlurException.class)
+  @Test
   public void testMutationUpdateMissingRowAppendColumns() throws Exception {
     Column c1 = newColumn("testcol1", "value999");
     Column c2 = newColumn("testcol2", "value9999");
     String rec = "record-6";
     RecordMutation rm = newRecordMutation(APPEND_COLUMN_VALUES, FAMILY, rec, c1, c2);
 
-    updateAndFetchRecord("row-6", rec, rm);
+    Record r = updateAndFetchRecord("row-6", rec, rm);
+    assertNotNull("record should exist", r);
+    assertEquals("only 2 columns in record", 2, r.getColumnsSize());
+    assertTrue("column 1 should be in record", r.columns.contains(c1));
+    assertTrue("column 2 should be in record", r.columns.contains(c2));
   }
 
   private Record updateAndFetchRecord(String rowId, String recordId, RecordMutation... recordMutations)


Mime
View raw message