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 2015/12/04 02:00:37 UTC
hbase git commit: HBASE-13857 Slow WAL Append count in
ServerMetricsTmpl.jamon is hardcoded to zero (Vrishal Kulkarni)
Repository: hbase
Updated Branches:
refs/heads/master 67ba6598b -> 51503efcf
HBASE-13857 Slow WAL Append count in ServerMetricsTmpl.jamon is hardcoded to zero (Vrishal Kulkarni)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/51503efc
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/51503efc
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/51503efc
Branch: refs/heads/master
Commit: 51503efcf05be734c14200233d5f1495e4c2c3f1
Parents: 67ba659
Author: stack <st...@apache.org>
Authored: Thu Dec 3 17:00:29 2015 -0800
Committer: stack <st...@apache.org>
Committed: Thu Dec 3 17:00:29 2015 -0800
----------------------------------------------------------------------
.../hbase/regionserver/MetricsRegionServerWrapper.java | 13 +++++++++----
.../hbase/regionserver/wal/MetricsWALSource.java | 1 +
.../hbase/regionserver/wal/MetricsWALSourceImpl.java | 5 +++++
.../hbase/tmpl/regionserver/ServerMetricsTmpl.jamon | 2 +-
.../regionserver/MetricsRegionServerWrapperImpl.java | 8 ++++++++
.../regionserver/MetricsRegionServerWrapperStub.java | 5 +++++
.../hadoop/hbase/regionserver/wal/TestMetricsWAL.java | 13 +++++++++++++
7 files changed, 42 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/51503efc/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
index 6921222..02dec8d 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
@@ -70,16 +70,21 @@ public interface MetricsRegionServerWrapper {
/**
* Get the number of WAL files of this region server.
*/
- public long getNumWALFiles();
+ long getNumWALFiles();
/**
* Get the size of WAL files of this region server.
*/
- public long getWALFileSize();
-
+ long getWALFileSize();
+
/**
- * Get the number of store files hosted on this region server.
+ * Get the number of WAL files with slow appends for this region server.
*/
+ long getNumWALSlowAppend();
+
+ /**
+ * Get the number of store files hosted on this region server.
+ */
long getNumStoreFiles();
/**
http://git-wip-us.apache.org/repos/asf/hbase/blob/51503efc/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java
index f8c746f..c6dc731 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java
@@ -92,4 +92,5 @@ public interface MetricsWALSource extends BaseSource {
void incrementLowReplicationLogRoll();
+ long getSlowAppendCount();
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/51503efc/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java
index 36c3571..7583780 100644
--- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java
+++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java
@@ -98,4 +98,9 @@ public class MetricsWALSourceImpl extends BaseSourceImpl implements MetricsWALSo
public void incrementLowReplicationLogRoll() {
lowReplicationLogRollRequested.incr();
}
+
+ @Override
+ public long getSlowAppendCount() {
+ return slowAppendCount.value();
+ }
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/51503efc/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmpl.jamon
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmpl.jamon
index a86a4ea..113bee1 100644
--- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmpl.jamon
+++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmpl.jamon
@@ -84,7 +84,7 @@ java.lang.management.ManagementFactory;
<td><% mWrap.getNumOnlineRegions() %></td>
<td><% mWrap.getPercentFileLocal() %></td>
<td><% mWrap.getPercentFileLocalSecondaryRegions() %></td>
- <td><% 0 %></td>
+ <td><% mWrap.getNumWALSlowAppend() %></td>
</tr>
</table>
</%def>
http://git-wip-us.apache.org/repos/asf/hbase/blob/51503efc/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java
index 108ca6c..f3e8916 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java
@@ -37,6 +37,7 @@ import org.apache.hadoop.hbase.io.hfile.CacheConfig;
import org.apache.hadoop.hbase.io.hfile.CacheStats;
import org.apache.hadoop.hbase.mob.MobCacheConfig;
import org.apache.hadoop.hbase.mob.MobFileCache;
+import org.apache.hadoop.hbase.regionserver.wal.MetricsWALSource;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.apache.hadoop.hbase.util.FSUtils;
import org.apache.hadoop.hbase.wal.WALProvider;
@@ -54,6 +55,7 @@ class MetricsRegionServerWrapperImpl
private static final Log LOG = LogFactory.getLog(MetricsRegionServerWrapperImpl.class);
private final HRegionServer regionServer;
+ private final MetricsWALSource metricsWALSource;
private BlockCache blockCache;
private MobFileCache mobFileCache;
@@ -121,6 +123,7 @@ class MetricsRegionServerWrapperImpl
this.runnable = new RegionServerMetricsWrapperRunnable();
this.executor.scheduleWithFixedDelay(this.runnable, this.period, this.period,
TimeUnit.MILLISECONDS);
+ this.metricsWALSource = CompatibilitySingletonFactory.getInstance(MetricsWALSource.class);
try {
this.dfsHedgedReadMetrics = FSUtils.getDFSHedgedReadMetrics(regionServer.getConfiguration());
@@ -374,6 +377,11 @@ class MetricsRegionServerWrapperImpl
public long getWALFileSize() {
return walFileSize;
}
+
+ @Override
+ public long getNumWALSlowAppend() {
+ return metricsWALSource.getSlowAppendCount();
+ }
@Override
public long getNumStoreFiles() {
http://git-wip-us.apache.org/repos/asf/hbase/blob/51503efc/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.java
index f450f01..0d93284 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.java
@@ -236,6 +236,11 @@ public class MetricsRegionServerWrapperStub implements MetricsRegionServerWrappe
}
@Override
+ public long getNumWALSlowAppend() {
+ return 0;
+ }
+
+ @Override
public long getFlushedCellsCount() {
return 100000000;
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/51503efc/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.java
index d9183d0..ba6915b 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.java
@@ -26,6 +26,7 @@ import org.junit.experimental.categories.Category;
import java.util.concurrent.TimeUnit;
+import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -53,4 +54,16 @@ public class TestMetricsWAL {
metricsWAL.postSync(nanos, 1);
verify(source, times(1)).incrementSyncTime(145);
}
+
+ @Test
+ public void testSlowAppend() throws Exception {
+ MetricsWALSource source = new MetricsWALSourceImpl();
+ MetricsWAL metricsWAL = new MetricsWAL(source);
+ // One not so slow append (< 1000)
+ metricsWAL.postAppend(1, 900);
+ // Two slow appends (> 1000)
+ metricsWAL.postAppend(1, 1010);
+ metricsWAL.postAppend(1, 2000);
+ assertEquals(2, source.getSlowAppendCount());
+ }
}
\ No newline at end of file