hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From apurt...@apache.org
Subject [5/6] hbase git commit: HBASE-10844 Coprocessor failure during batchmutation leaves the memstore datastructs in an inconsistent state
Date Fri, 14 Aug 2015 23:07:36 GMT
HBASE-10844 Coprocessor failure during batchmutation leaves the memstore datastructs in an
inconsistent state

Conflicts:
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java

Signed-off-by: Andrew Purtell <apurtell@apache.org>


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

Branch: refs/heads/branch-1.0
Commit: fbf66b48b3f17c3310ad42b8b274a1ce3020c6b6
Parents: be5a8c5
Author: Nick Dimiduk <ndimiduk@apache.org>
Authored: Thu Aug 13 16:19:26 2015 -0700
Committer: Andrew Purtell <apurtell@apache.org>
Committed: Fri Aug 14 15:56:20 2015 -0700

----------------------------------------------------------------------
 .../java/org/apache/hadoop/hbase/regionserver/HRegion.java  | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/fbf66b48/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
index a50b8fb..22213ea 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
@@ -1303,7 +1303,14 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver
{ //
 
         // close each store in parallel
         for (final Store store : stores.values()) {
-          assert abort || store.getFlushableSize() == 0;
+          long flushableSize = store.getFlushableSize();
+          if (!(abort || flushableSize == 0)) {
+            getRegionServerServices().abort("Assertion failed while closing store "
+                + getRegionInfo().getRegionNameAsString() + " " + store
+                + ". flushableSize expected=0, actual= " + flushableSize
+                + ". Current memstoreSize=" + getMemstoreSize() + ". Maybe a coprocessor
"
+                + "operation failed and left the memstore in a partially updated state.",
null);
+          }
           completionService
               .submit(new Callable<Pair<byte[], Collection<StoreFile>>>()
{
                 @Override


Mime
View raw message