You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ja...@apache.org on 2017/04/17 17:17:08 UTC

phoenix git commit: PHOENIX-3789 Execute cross region index maintenance calls in postBatchMutateIndispensably

Repository: phoenix
Updated Branches:
  refs/heads/master adf560683 -> bcceaf802


PHOENIX-3789 Execute cross region index maintenance calls in postBatchMutateIndispensably


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/bcceaf80
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/bcceaf80
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/bcceaf80

Branch: refs/heads/master
Commit: bcceaf80270b75a34a442f3ad1e7490bb88d58d5
Parents: adf5606
Author: James Taylor <ja...@apache.org>
Authored: Mon Apr 17 10:16:36 2017 -0700
Committer: James Taylor <ja...@apache.org>
Committed: Mon Apr 17 10:17:01 2017 -0700

----------------------------------------------------------------------
 .../org/apache/phoenix/hbase/index/Indexer.java   | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/bcceaf80/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/Indexer.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/Indexer.java b/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/Indexer.java
index c482cbd..f485bdf 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/Indexer.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/Indexer.java
@@ -386,18 +386,20 @@ public class Indexer extends BaseRegionObserver {
   }
 
   @Override
-  public void postBatchMutate(ObserverContext<RegionCoprocessorEnvironment> c,
-      MiniBatchOperationInProgress<Mutation> miniBatchOp) throws IOException {
+  public void postBatchMutateIndispensably(ObserverContext<RegionCoprocessorEnvironment> c,
+      MiniBatchOperationInProgress<Mutation> miniBatchOp, final boolean success) throws IOException {
       if (this.disabled) {
-          super.postBatchMutate(c, miniBatchOp);
+          super.postBatchMutateIndispensably(c, miniBatchOp, success);
           return;
         }
     this.builder.batchCompleted(miniBatchOp);
-
-    //each batch operation, only the first one will have anything useful, so we can just grab that
-    Mutation mutation = miniBatchOp.getOperation(0);
-    WALEdit edit = miniBatchOp.getWalEdit(0);
-    doPost(edit, mutation, mutation.getDurability(), false);
+    
+    if (success) { // if miniBatchOp was successfully written, write index updates
+        //each batch operation, only the first one will have anything useful, so we can just grab that
+        Mutation mutation = miniBatchOp.getOperation(0);
+        WALEdit edit = miniBatchOp.getWalEdit(0);
+        doPost(edit, mutation, mutation.getDurability(), false);
+    }
   }
 
   private void doPost(WALEdit edit, Mutation m, final Durability durability, boolean allowLocalUpdates) throws IOException {