You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2015/08/15 01:07:37 UTC
[6/6] hbase git commit: HBASE-10844 Coprocessor failure during
batchmutation leaves the memstore datastructs in an inconsistent state
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 <ap...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/a3a2860b
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/a3a2860b
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/a3a2860b
Branch: refs/heads/0.98
Commit: a3a2860b16ebaf4f05f9a5eb8b0d2fd22252fe8b
Parents: 9e720ef
Author: Nick Dimiduk <nd...@apache.org>
Authored: Thu Aug 13 16:19:26 2015 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Fri Aug 14 15:56:35 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/a3a2860b/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 c58303b..df7f977 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
@@ -1227,7 +1227,14 @@ public class HRegion implements HeapSize { // , Writable{
// close each store in parallel
for (final Store store : stores.values()) {
- assert abort? true: 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