You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2011/12/12 20:25:23 UTC
svn commit: r1213384 - in /hbase/branches/0.92: CHANGES.txt
src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java
Author: stack
Date: Mon Dec 12 19:25:22 2011
New Revision: 1213384
URL: http://svn.apache.org/viewvc?rev=1213384&view=rev
Log:
HBASE-4881 Unhealthy region is on service caused by rollback of region splitting
Modified:
hbase/branches/0.92/CHANGES.txt
hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java
hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java
Modified: hbase/branches/0.92/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/CHANGES.txt?rev=1213384&r1=1213383&r2=1213384&view=diff
==============================================================================
--- hbase/branches/0.92/CHANGES.txt (original)
+++ hbase/branches/0.92/CHANGES.txt Mon Dec 12 19:25:22 2011
@@ -481,6 +481,8 @@ Release 0.92.0 - Unreleased
(Honghua Zhu)
HBASE-5008 The clusters can't provide services because Region can't flush
(Gaojinchao)
+ HBASE-4881 Unhealthy region is on service caused by rollback of region splitting
+ (Chunhui Shen)
TESTS
HBASE-4492 TestRollingRestart fails intermittently
Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java?rev=1213384&r1=1213383&r2=1213384&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java (original)
+++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java Mon Dec 12 19:25:22 2011
@@ -723,12 +723,18 @@ public class SplitTransaction {
break;
case CLOSED_PARENT_REGION:
- // So, this returns a seqid but if we just closed and then reopened, we
- // should be ok. On close, we flushed using sequenceid obtained from
- // hosting regionserver so no need to propagate the sequenceid returned
- // out of initialize below up into regionserver as we normally do.
- // TODO: Verify.
- this.parent.initialize();
+ try {
+ // So, this returns a seqid but if we just closed and then reopened, we
+ // should be ok. On close, we flushed using sequenceid obtained from
+ // hosting regionserver so no need to propagate the sequenceid returned
+ // out of initialize below up into regionserver as we normally do.
+ // TODO: Verify.
+ this.parent.initialize();
+ } catch (IOException e) {
+ LOG.error("Failed rollbacking CLOSED_PARENT_REGION of region " +
+ this.parent.getRegionNameAsString(), e);
+ throw new RuntimeException(e);
+ }
break;
case STARTED_REGION_A_CREATION:
Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java?rev=1213384&r1=1213383&r2=1213384&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java (original)
+++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java Mon Dec 12 19:25:22 2011
@@ -180,12 +180,18 @@ public class RegionServerMetrics impleme
new MetricsIntValue("flushQueueSize", registry);
/**
- * filesystem read latency
+ * filesystem sequential read latency
*/
public final MetricsTimeVaryingRate fsReadLatency =
new MetricsTimeVaryingRate("fsReadLatency", registry);
/**
+ * filesystem positional read latency
+ */
+ public final MetricsTimeVaryingRate fsPreadLatency =
+ new MetricsTimeVaryingRate("fsPreadLatency", registry);
+
+ /**
* filesystem write latency
*/
public final MetricsTimeVaryingRate fsWriteLatency =