diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionLoad.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionLoad.java index 242e5ea..ef92291 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionLoad.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionLoad.java @@ -94,6 +94,11 @@ } @Override + public long getCpRequestCount() { + return metrics.getCpRequestCount(); + } + + @Override public long getFilteredReadRequestCount() { return metrics.getFilteredReadRequestCount(); } diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionMetrics.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionMetrics.java index e73683f..9aba9e6 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionMetrics.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionMetrics.java @@ -66,10 +66,15 @@ long getWriteRequestCount(); /** + * @return the number of write requests made to region + */ + public long getCpRequestCount(); + + /** * @return the number of write requests and read requests made to region */ default long getRequestCount() { - return getReadRequestCount() + getWriteRequestCount(); + return getReadRequestCount() + getWriteRequestCount() + getCpRequestCount(); } /** diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionMetricsBuilder.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionMetricsBuilder.java index f2a549a..9011c2a 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionMetricsBuilder.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionMetricsBuilder.java @@ -57,6 +57,7 @@ .setLastMajorCompactionTimestamp(regionLoadPB.getLastMajorCompactionTs()) .setMemStoreSize(new Size(regionLoadPB.getMemStoreSizeMB(), Size.Unit.MEGABYTE)) .setReadRequestCount(regionLoadPB.getReadRequestsCount()) + .setCpRequestCount(regionLoadPB.getCpRequestsCount()) .setWriteRequestCount(regionLoadPB.getWriteRequestsCount()) .setStoreFileIndexSize(new Size(regionLoadPB.getStorefileIndexSizeKB(), Size.Unit.KILOBYTE)) @@ -102,6 +103,7 @@ .setLastMajorCompactionTs(regionMetrics.getLastMajorCompactionTimestamp()) .setMemStoreSizeMB((int) regionMetrics.getMemStoreSize().get(Size.Unit.MEGABYTE)) .setReadRequestsCount(regionMetrics.getReadRequestCount()) + .setCpRequestsCount(regionMetrics.getCpRequestCount()) .setWriteRequestsCount(regionMetrics.getWriteRequestCount()) .setStorefileIndexSizeKB((long) regionMetrics.getStoreFileIndexSize() .get(Size.Unit.KILOBYTE)) @@ -134,6 +136,7 @@ private Size uncompressedStoreFileSize = Size.ZERO; private long writeRequestCount; private long readRequestCount; + private long cpRequestCount; private long filteredReadRequestCount; private long completedSequenceId; private Map storeSequenceIds = Collections.emptyMap(); @@ -195,6 +198,10 @@ this.readRequestCount = value; return this; } + public RegionMetricsBuilder setCpRequestCount(long value) { + this.cpRequestCount = value; + return this; + } public RegionMetricsBuilder setFilteredReadRequestCount(long value) { this.filteredReadRequestCount = value; return this; @@ -231,6 +238,7 @@ uncompressedStoreFileSize, writeRequestCount, readRequestCount, + cpRequestCount, filteredReadRequestCount, completedSequenceId, storeSequenceIds, @@ -253,6 +261,7 @@ private final Size uncompressedStoreFileSize; private final long writeRequestCount; private final long readRequestCount; + private final long cpRequestCount; private final long filteredReadRequestCount; private final long completedSequenceId; private final Map storeSequenceIds; @@ -272,6 +281,7 @@ Size uncompressedStoreFileSize, long writeRequestCount, long readRequestCount, + long cpRequestCount, long filteredReadRequestCount, long completedSequenceId, Map storeSequenceIds, @@ -291,6 +301,7 @@ this.uncompressedStoreFileSize = Preconditions.checkNotNull(uncompressedStoreFileSize); this.writeRequestCount = writeRequestCount; this.readRequestCount = readRequestCount; + this.cpRequestCount = cpRequestCount; this.filteredReadRequestCount = filteredReadRequestCount; this.completedSequenceId = completedSequenceId; this.storeSequenceIds = Preconditions.checkNotNull(storeSequenceIds); @@ -326,6 +337,11 @@ @Override public long getReadRequestCount() { return readRequestCount; + } + + @Override + public long getCpRequestCount() { + return cpRequestCount; } @Override @@ -415,6 +431,8 @@ this.getMemStoreSize()); Strings.appendKeyValue(sb, "readRequestCount", this.getReadRequestCount()); + Strings.appendKeyValue(sb, "cpRequestCount", + this.getCpRequestCount()); Strings.appendKeyValue(sb, "writeRequestCount", this.getWriteRequestCount()); Strings.appendKeyValue(sb, "rootLevelIndexSize", diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerLoad.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerLoad.java index 7a1019a..dbf0070 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerLoad.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerLoad.java @@ -52,6 +52,7 @@ private int memstoreSizeMB = 0; private long storefileIndexSizeKB = 0; private long readRequestsCount = 0; + private long cpRequestsCount = 0; private long filteredReadRequestsCount = 0; private long writeRequestsCount = 0; private int rootIndexSizeKB = 0; @@ -86,6 +87,7 @@ storefileSizeMB += rl.getStoreFileSize().get(Size.Unit.MEGABYTE); memstoreSizeMB += rl.getMemStoreSize().get(Size.Unit.MEGABYTE); readRequestsCount += rl.getReadRequestCount(); + cpRequestsCount += rl.getCpRequestCount(); filteredReadRequestsCount += rl.getFilteredReadRequestCount(); writeRequestsCount += rl.getWriteRequestCount(); storefileIndexSizeKB += rl.getStoreFileIndexSize().get(Size.Unit.KILOBYTE); @@ -276,6 +278,15 @@ @Deprecated public long getReadRequestsCount() { return readRequestsCount; + } + + /** + * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0 + * Use {@link #getRegionMetrics} instead. + */ + @Deprecated + public long getCpRequestsCount() { + return cpRequestsCount; } /** @@ -501,6 +512,7 @@ Strings.appendKeyValue(sb, "storefileIndexSizeKB", Long.valueOf(this.storefileIndexSizeKB)); Strings.appendKeyValue(sb, "readRequestsCount", Long.valueOf(this.readRequestsCount)); + Strings.appendKeyValue(sb, "cpRequestsCount", Long.valueOf(this.cpRequestsCount)); Strings.appendKeyValue(sb, "filteredReadRequestsCount", Long.valueOf(this.filteredReadRequestsCount)); Strings.appendKeyValue(sb, "writeRequestsCount", Long.valueOf(this.writeRequestsCount)); @@ -547,9 +559,9 @@ public int hashCode() { return Objects .hashCode(stores, storefiles, storeUncompressedSizeMB, storefileSizeMB, memstoreSizeMB, - storefileIndexSizeKB, readRequestsCount, filteredReadRequestsCount, writeRequestsCount, - rootIndexSizeKB, totalStaticIndexSizeKB, totalStaticBloomSizeKB, totalCompactingKVs, - currentCompactedKVs); + storefileIndexSizeKB, readRequestsCount, cpRequestsCount, filteredReadRequestsCount, + writeRequestsCount, rootIndexSizeKB, totalStaticIndexSizeKB, totalStaticBloomSizeKB, + totalCompactingKVs, currentCompactedKVs); } @Override @@ -562,6 +574,7 @@ && storefileSizeMB == sl.storefileSizeMB && memstoreSizeMB == sl.memstoreSizeMB && storefileIndexSizeKB == sl.storefileIndexSizeKB && readRequestsCount == sl.readRequestsCount + && cpRequestsCount == sl.cpRequestsCount && filteredReadRequestsCount == sl.filteredReadRequestsCount && writeRequestsCount == sl.writeRequestsCount && rootIndexSizeKB == sl.rootIndexSizeKB && totalStaticIndexSizeKB == sl.totalStaticIndexSizeKB diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetricsBuilder.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetricsBuilder.java index 50addf6..96ead7b 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetricsBuilder.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerMetricsBuilder.java @@ -324,6 +324,7 @@ long storefileIndexSizeKB = 0; long rootLevelIndexSizeKB = 0; long readRequestsCount = 0; + long cpRequestsCount = 0; long writeRequestsCount = 0; long filteredReadRequestsCount = 0; long bloomFilterSizeMB = 0; @@ -337,6 +338,7 @@ memStoreSizeMB += r.getMemStoreSize().get(Size.Unit.MEGABYTE); storefileIndexSizeKB += r.getStoreFileUncompressedDataIndexSize().get(Size.Unit.KILOBYTE); readRequestsCount += r.getReadRequestCount(); + cpRequestsCount += r.getCpRequestCount(); writeRequestsCount += r.getWriteRequestCount(); filteredReadRequestsCount += r.getFilteredReadRequestCount(); rootLevelIndexSizeKB += r.getStoreFileRootLevelIndexSize().get(Size.Unit.KILOBYTE); @@ -360,6 +362,7 @@ } Strings.appendKeyValue(sb, "memstoreSizeMB", memStoreSizeMB); Strings.appendKeyValue(sb, "readRequestsCount", readRequestsCount); + Strings.appendKeyValue(sb, "cpRequestsCount", cpRequestsCount); Strings.appendKeyValue(sb, "filteredReadRequestsCount", filteredReadRequestsCount); Strings.appendKeyValue(sb, "writeRequestsCount", writeRequestsCount); Strings.appendKeyValue(sb, "rootIndexSizeKB", rootLevelIndexSizeKB); diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java index 4636fe0..162addc 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java @@ -256,6 +256,9 @@ String READ_REQUEST_COUNT = "readRequestCount"; String READ_REQUEST_COUNT_DESC = "Number of read requests with non-empty Results that this RegionServer has answered."; + String CP_REQUEST_COUNT = "cpRequestCount"; + String CP_REQUEST_COUNT_DESC = + "Number of coprocessor requests this region server has answered."; String FILTERED_READ_REQUEST_COUNT = "filteredReadRequestCount"; String FILTERED_READ_REQUEST_COUNT_DESC = "Number of filtered read requests this RegionServer has answered."; 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 83a8339..02c78c7 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 @@ -136,6 +136,11 @@ long getReadRequestsCount(); /** + * Get the number of coprocessor requests to regions hosted on this region server. + */ + long getCpRequestsCount(); + + /** * Get the number of filtered read requests to regions hosted on this region server. */ long getFilteredReadRequestsCount(); diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.java index 9b2aba1..15b85b7 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.java @@ -73,6 +73,11 @@ long getReadRequestCount(); /** + * Get the total number of Coprocessor requests that have been issued against this region + */ + long getCpRequestCount(); + + /** * Get the total number of filtered read requests that have been issued against this region */ long getFilteredReadRequestCount(); diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSource.java index b8476bf..cc1e189 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSource.java @@ -29,6 +29,8 @@ String READ_REQUEST_COUNT = "readRequestCount"; String READ_REQUEST_COUNT_DESC = "Number of read requests"; + String CP_REQUEST_COUNT = "cpRequestCount"; + String CP_REQUEST_COUNT_DESC = "Number of coprocessor requests"; String WRITE_REQUEST_COUNT = "writeRequestCount"; String WRITE_REQUEST_COUNT_DESC = "Number of write requests"; String TOTAL_REQUEST_COUNT = "totalRequestCount"; diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregate.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregate.java index e1d2ab2..f0b4f41 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregate.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregate.java @@ -33,6 +33,11 @@ long getReadRequestsCount(String table); /** + * Get the number of read requests that have been issued against this table + */ + long getCpRequestsCount(String table); + + /** * Get the number of write requests that have been issued against this table */ long getWriteRequestsCount(String table); diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java index 94b8389..e6f2e93 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java @@ -340,6 +340,8 @@ TOTAL_ROW_ACTION_REQUEST_COUNT_DESC), rsWrap.getTotalRowActionRequestCount()) .addCounter(Interns.info(READ_REQUEST_COUNT, READ_REQUEST_COUNT_DESC), rsWrap.getReadRequestsCount()) + .addCounter(Interns.info(CP_REQUEST_COUNT, CP_REQUEST_COUNT_DESC), + rsWrap.getCpRequestsCount()) .addCounter(Interns.info(FILTERED_READ_REQUEST_COUNT, FILTERED_READ_REQUEST_COUNT_DESC), rsWrap.getFilteredReadRequestsCount()) .addCounter(Interns.info(WRITE_REQUEST_COUNT, WRITE_REQUEST_COUNT_DESC), diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.java index ff1f42d..1831062 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.java @@ -262,6 +262,10 @@ MetricsRegionServerSource.READ_REQUEST_COUNT_DESC), this.regionWrapper.getReadRequestCount()); mrb.addCounter(Interns.info( + regionNamePrefix + MetricsRegionServerSource.CP_REQUEST_COUNT, + MetricsRegionServerSource.CP_REQUEST_COUNT_DESC), + this.regionWrapper.getCpRequestCount()); + mrb.addCounter(Interns.info( regionNamePrefix + MetricsRegionServerSource.FILTERED_READ_REQUEST_COUNT, MetricsRegionServerSource.FILTERED_READ_REQUEST_COUNT_DESC), this.regionWrapper.getFilteredReadRequestCount()); diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.java index 37653cd..0733179 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.java @@ -125,6 +125,9 @@ mrb.addCounter(Interns.info(tableNamePrefix + MetricsTableSource.READ_REQUEST_COUNT, MetricsTableSource.READ_REQUEST_COUNT_DESC), tableWrapperAgg.getReadRequestsCount(tableName.getNameAsString())); + mrb.addCounter(Interns.info(tableNamePrefix + MetricsTableSource.CP_REQUEST_COUNT, + MetricsTableSource.CP_REQUEST_COUNT_DESC), + tableWrapperAgg.getCpRequestsCount(tableName.getNameAsString())); mrb.addCounter(Interns.info(tableNamePrefix + MetricsTableSource.WRITE_REQUEST_COUNT, MetricsTableSource.WRITE_REQUEST_COUNT_DESC), tableWrapperAgg.getWriteRequestsCount(tableName.getNameAsString())); diff --git a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.java b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.java index a22c7a5..4953b62 100644 --- a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.java +++ b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.java @@ -135,6 +135,11 @@ } @Override + public long getCpRequestCount() { + return 0; + } + + @Override public long getWriteRequestCount() { return 0; } diff --git a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsTableSourceImpl.java b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsTableSourceImpl.java index 25fe532..c5eda14 100644 --- a/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsTableSourceImpl.java +++ b/hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsTableSourceImpl.java @@ -87,6 +87,11 @@ } @Override + public long getCpRequestsCount(String table) { + return 10; + } + + @Override public long getWriteRequestsCount(String table) { return 20; } diff --git a/hbase-protocol-shaded/src/main/protobuf/ClusterStatus.proto b/hbase-protocol-shaded/src/main/protobuf/ClusterStatus.proto index 9fd5f04..399ff5e 100644 --- a/hbase-protocol-shaded/src/main/protobuf/ClusterStatus.proto +++ b/hbase-protocol-shaded/src/main/protobuf/ClusterStatus.proto @@ -139,6 +139,9 @@ /** the current total filtered read requests made to region */ optional uint64 filtered_read_requests_count = 19; + + /** the current total coprocessor requests made to region */ + optional uint64 cp_requests_count = 20; } /* Server-level protobufs */ diff --git a/hbase-protocol/src/main/protobuf/ClusterStatus.proto b/hbase-protocol/src/main/protobuf/ClusterStatus.proto index b172db5..009d172 100644 --- a/hbase-protocol/src/main/protobuf/ClusterStatus.proto +++ b/hbase-protocol/src/main/protobuf/ClusterStatus.proto @@ -139,6 +139,9 @@ /** the current total filtered read requests made to region */ optional uint64 filtered_read_requests_count = 19; + + /** the current total coprocessor requests made to region */ + optional uint64 cp_requests_count = 20; } /* Server-level protobufs */ diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/StorageClusterStatusResource.java b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/StorageClusterStatusResource.java index 2323bf3..bbdbf74 100644 --- a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/StorageClusterStatusResource.java +++ b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/StorageClusterStatusResource.java @@ -92,6 +92,7 @@ (int) region.getMemStoreSize().get(Size.Unit.MEGABYTE), (long) region.getStoreFileIndexSize().get(Size.Unit.KILOBYTE), region.getReadRequestCount(), + region.getCpRequestCount(), region.getWriteRequestCount(), (int) region.getStoreFileRootLevelIndexSize().get(Size.Unit.KILOBYTE), (int) region.getStoreFileUncompressedDataIndexSize().get(Size.Unit.KILOBYTE), diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.java b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.java index a20a405..8dfebe1 100644 --- a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.java +++ b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.java @@ -85,6 +85,7 @@ * <attribute name="memstoreSizeMB" type="int"></attribute> * <attribute name="storefileIndexSizeMB" type="int"></attribute> * <attribute name="readRequestsCount" type="int"></attribute> + * <attribute name="cpRequestsCount" type="int"></attribute> * <attribute name="writeRequestsCount" type="int"></attribute> * <attribute name="rootIndexSizeKB" type="int"></attribute> * <attribute name="totalStaticIndexSizeKB" type="int"></attribute> @@ -119,6 +120,7 @@ private int memstoreSizeMB; private long storefileIndexSizeKB; private long readRequestsCount; + private long cpRequestsCount; private long writeRequestsCount; private int rootIndexSizeKB; private int totalStaticIndexSizeKB; @@ -151,8 +153,8 @@ */ public Region(byte[] name, int stores, int storefiles, int storefileSizeMB, int memstoreSizeMB, long storefileIndexSizeKB, - long readRequestsCount, long writeRequestsCount, int rootIndexSizeKB, - int totalStaticIndexSizeKB, int totalStaticBloomSizeKB, + long readRequestsCount, long cpRequestsCount, long writeRequestsCount, + int rootIndexSizeKB, int totalStaticIndexSizeKB, int totalStaticBloomSizeKB, long totalCompactingKVs, long currentCompactedKVs) { this.name = name; this.stores = stores; @@ -161,6 +163,7 @@ this.memstoreSizeMB = memstoreSizeMB; this.storefileIndexSizeKB = storefileIndexSizeKB; this.readRequestsCount = readRequestsCount; + this.cpRequestsCount = cpRequestsCount; this.writeRequestsCount = writeRequestsCount; this.rootIndexSizeKB = rootIndexSizeKB; this.totalStaticIndexSizeKB = totalStaticIndexSizeKB; @@ -226,6 +229,14 @@ } /** + * @return the current total read requests made to region + */ + @XmlAttribute + public long getCpRequestsCount() { + return cpRequestsCount; + } + + /** * @return the current total write requests made to region */ @XmlAttribute @@ -278,6 +289,13 @@ */ public void setReadRequestsCount(long readRequestsCount) { this.readRequestsCount = readRequestsCount; + } + + /** + * @param cpRequestsCount The current total read requests made to region + */ + public void setCpRequestsCount(long cpRequestsCount) { + this.cpRequestsCount = cpRequestsCount; } /** @@ -383,11 +401,11 @@ */ public void addRegion(byte[] name, int stores, int storefiles, int storefileSizeMB, int memstoreSizeMB, long storefileIndexSizeKB, - long readRequestsCount, long writeRequestsCount, int rootIndexSizeKB, - int totalStaticIndexSizeKB, int totalStaticBloomSizeKB, + long readRequestsCount, long cpRequestsCount, long writeRequestsCount, + int rootIndexSizeKB, int totalStaticIndexSizeKB, int totalStaticBloomSizeKB, long totalCompactingKVs, long currentCompactedKVs) { regions.add(new Region(name, stores, storefiles, storefileSizeMB, - memstoreSizeMB, storefileIndexSizeKB, readRequestsCount, + memstoreSizeMB, storefileIndexSizeKB, readRequestsCount, cpRequestsCount, writeRequestsCount, rootIndexSizeKB, totalStaticIndexSizeKB, totalStaticBloomSizeKB, totalCompactingKVs, currentCompactedKVs)); } @@ -683,6 +701,8 @@ sb.append(region.storefileIndexSizeKB); sb.append("\n readRequestsCount="); sb.append(region.readRequestsCount); + sb.append("\n cpRequestsCount="); + sb.append(region.cpRequestsCount); sb.append("\n writeRequestsCount="); sb.append(region.writeRequestsCount); sb.append("\n rootIndexSizeKB="); @@ -737,6 +757,7 @@ regionBuilder.setMemStoreSizeMB(region.memstoreSizeMB); regionBuilder.setStorefileIndexSizeKB(region.storefileIndexSizeKB); regionBuilder.setReadRequestsCount(region.readRequestsCount); + regionBuilder.setCpRequestsCount(region.cpRequestsCount); regionBuilder.setWriteRequestsCount(region.writeRequestsCount); regionBuilder.setRootIndexSizeKB(region.rootIndexSizeKB); regionBuilder.setTotalStaticIndexSizeKB(region.totalStaticIndexSizeKB); @@ -783,6 +804,7 @@ region.getMemStoreSizeMB(), region.getStorefileIndexSizeKB(), region.getReadRequestsCount(), + region.getCpRequestsCount(), region.getWriteRequestsCount(), region.getRootIndexSizeKB(), region.getTotalStaticIndexSizeKB(), diff --git a/hbase-rest/src/main/protobuf/StorageClusterStatusMessage.proto b/hbase-rest/src/main/protobuf/StorageClusterStatusMessage.proto index f03a6bc..e073110 100644 --- a/hbase-rest/src/main/protobuf/StorageClusterStatusMessage.proto +++ b/hbase-rest/src/main/protobuf/StorageClusterStatusMessage.proto @@ -32,6 +32,7 @@ optional int32 totalStaticBloomSizeKB = 11; optional int64 totalCompactingKVs = 12; optional int64 currentCompactedKVs = 13; + optional int64 cpRequestsCount = 14; } message Node { required string name = 1; // name:port diff --git a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/model/TestStorageClusterStatusModel.java b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/model/TestStorageClusterStatusModel.java index 77ca761..0d2977b 100644 --- a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/model/TestStorageClusterStatusModel.java +++ b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/model/TestStorageClusterStatusModel.java @@ -68,13 +68,13 @@ "{\"regions\":2,\"requests\":0,\"averageLoad\":1.0,\"LiveNodes\":[{\"name\":\"test1\"," + "\"Region\":[{\"name\":\"aGJhc2U6cm9vdCwsMA==\",\"stores\":1,\"storefiles\":1," + "\"storefileSizeMB\":0,\"memStoreSizeMB\":0,\"storefileIndexSizeKB\":0," + - "\"readRequestsCount\":1,\"writeRequestsCount\":2,\"rootIndexSizeKB\":1," + + "\"readRequestsCount\":1,\"cpRequestsCount\":1,\"writeRequestsCount\":2,\"rootIndexSizeKB\":1," + "\"totalStaticIndexSizeKB\":1,\"totalStaticBloomSizeKB\":1,\"totalCompactingKVs\":1," + "\"currentCompactedKVs\":1}],\"requests\":0,\"startCode\":1245219839331," + "\"heapSizeMB\":128,\"maxHeapSizeMB\":1024},{\"name\":\"test2\"," + "\"Region\":[{\"name\":\"aGJhc2U6bWV0YSwsMTI0NjAwMDA0MzcyNA==\",\"stores\":1," + "\"storefiles\":1,\"storefileSizeMB\":0,\"memStoreSizeMB\":0,\"storefileIndexSizeKB\":0," + - "\"readRequestsCount\":1,\"writeRequestsCount\":2,\"rootIndexSizeKB\":1," + + "\"readRequestsCount\":1,\"cpRequestsCount\":1,\"writeRequestsCount\":2,\"rootIndexSizeKB\":1," + "\"totalStaticIndexSizeKB\":1,\"totalStaticBloomSizeKB\":1,\"totalCompactingKVs\":1," + "\"currentCompactedKVs\":1}],\"requests\":0,\"startCode\":1245239331198," + "\"heapSizeMB\":512,\"maxHeapSizeMB\":1024}],\"DeadNodes\":[]}"; @@ -87,10 +87,10 @@ model.setRequests(0); model.setAverageLoad(1.0); model.addLiveNode("test1", 1245219839331L, 128, 1024) - .addRegion(Bytes.toBytes("hbase:root,,0"), 1, 1, 0, 0, 0, 1, 2, 1, 1, 1, 1, 1); + .addRegion(Bytes.toBytes("hbase:root,,0"), 1, 1, 0, 0, 0, 1, 1, 2, 1, 1, 1, 1, 1); model.addLiveNode("test2", 1245239331198L, 512, 1024) .addRegion(Bytes.toBytes(TableName.META_TABLE_NAME+",,1246000043724"),1, 1, 0, 0, 0, - 1, 2, 1, 1, 1, 1, 1); + 1, 1, 2, 1, 1, 1, 1, 1); return model; } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BalancerRegionLoad.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BalancerRegionLoad.java index 843a36e..7cc3375 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BalancerRegionLoad.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BalancerRegionLoad.java @@ -31,12 +31,14 @@ @InterfaceStability.Evolving class BalancerRegionLoad { private final long readRequestsCount; + private final long cpRequestsCount; private final long writeRequestsCount; private final int memStoreSizeMB; private final int storefileSizeMB; BalancerRegionLoad(RegionMetrics regionMetrics) { readRequestsCount = regionMetrics.getReadRequestCount(); + cpRequestsCount = regionMetrics.getCpRequestCount(); writeRequestsCount = regionMetrics.getWriteRequestCount(); memStoreSizeMB = (int) regionMetrics.getMemStoreSize().get(Size.Unit.MEGABYTE); storefileSizeMB = (int) regionMetrics.getStoreFileSize().get(Size.Unit.MEGABYTE); @@ -46,6 +48,10 @@ return readRequestsCount; } + public long getCpRequestsCount() { + return cpRequestsCount; + } + public long getWriteRequestsCount() { return writeRequestsCount; } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java index ac5ad64..39aa0bf 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java @@ -189,6 +189,7 @@ } regionLoadFunctions = new CostFromRegionLoadFunction[] { new ReadRequestCostFunction(conf), + new CPRequestCostFunction(conf), new WriteRequestCostFunction(conf), new MemStoreSizeCostFunction(conf), new StoreFileCostFunction(conf) @@ -208,6 +209,7 @@ regionLoadFunctions[1], regionLoadFunctions[2], regionLoadFunctions[3], + regionLoadFunctions[4] }; curFunctionCosts= new Double[costFunctions.length]; tempFunctionCosts= new Double[costFunctions.length]; @@ -1476,6 +1478,28 @@ } /** + * Compute the cost of total number of coprocessor requests The more unbalanced the higher the + * computed cost will be. This uses a rolling average of regionload. + */ + + static class CPRequestCostFunction extends CostFromRegionLoadAsRateFunction { + + private static final String CP_REQUEST_COST_KEY = + "hbase.master.balancer.stochastic.cpRequestCost"; + private static final float DEFAULT_CP_REQUEST_COST = 5; + + CPRequestCostFunction(Configuration conf) { + super(conf); + this.setMultiplier(conf.getFloat(CP_REQUEST_COST_KEY, DEFAULT_CP_REQUEST_COST)); + } + + @Override + protected double getCostFromRl(BalancerRegionLoad rl) { + return rl.getCpRequestsCount(); + } + } + + /** * Compute the cost of total number of write requests. The more unbalanced the higher the * computed cost will be. This uses a rolling average of regionload. */ 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 404eb1a..d71e988 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 @@ -306,6 +306,7 @@ // Number of requests // Count rows for scan final LongAdder readRequestsCount = new LongAdder(); + final LongAdder cpRequestsCount = new LongAdder(); final LongAdder filteredReadRequestsCount = new LongAdder(); // Count rows for multi row mutations final LongAdder writeRequestsCount = new LongAdder(); @@ -1268,6 +1269,11 @@ @Override public long getReadRequestsCount() { return readRequestsCount.sum(); + } + + @Override + public long getCpRequestsCount() { + return cpRequestsCount.sum(); } @Override @@ -8005,14 +8011,14 @@ ClassSize.OBJECT + ClassSize.ARRAY + 51 * ClassSize.REFERENCE + 3 * Bytes.SIZEOF_INT + - (14 * Bytes.SIZEOF_LONG) + + (15 * Bytes.SIZEOF_LONG) + 3 * Bytes.SIZEOF_BOOLEAN); // woefully out of date - currently missing: // 1 x HashMap - coprocessorServiceHandlers // 6 x LongAdder - numMutationsWithoutWAL, dataInMemoryWithoutWAL, // checkAndMutateChecksPassed, checkAndMutateChecksFailed, readRequestsCount, - // writeRequestsCount + // writeRequestsCount, cpRequestsCount // 1 x HRegion$WriteState - writestate // 1 x RegionCoprocessorHost - coprocessorHost // 1 x RegionSplitPolicy - splitPolicy @@ -8100,6 +8106,7 @@ } com.google.protobuf.Descriptors.ServiceDescriptor serviceDesc = service.getDescriptorForType(); + cpRequestsCount.increment(); String methodName = call.getMethodName(); com.google.protobuf.Descriptors.MethodDescriptor methodDesc = CoprocessorRpcUtils.getMethodDescriptor(methodName, serviceDesc); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java index db7052e..2960275 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java @@ -1668,6 +1668,7 @@ .setTotalStaticIndexSizeKB(totalStaticIndexSizeKB) .setTotalStaticBloomSizeKB(totalStaticBloomSizeKB) .setReadRequestsCount(r.getReadRequestsCount()) + .setCpRequestsCount(r.getCpRequestsCount()) .setFilteredReadRequestsCount(r.getFilteredReadRequestsCount()) .setWriteRequestsCount(r.getWriteRequestsCount()) .setTotalCompactingKVs(totalCompactingKVs) 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 09929e1..c1c8f07 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 @@ -74,6 +74,7 @@ private volatile long numReferenceFiles = 0; private volatile double requestsPerSecond = 0.0; private volatile long readRequestsCount = 0; + private volatile long cpRequestsCount = 0; private volatile long filteredReadRequestsCount = 0; private volatile long writeRequestsCount = 0; private volatile long checkAndMutateChecksFailed = 0; @@ -519,6 +520,11 @@ } @Override + public long getCpRequestsCount() { + return cpRequestsCount; + } + + @Override public long getFilteredReadRequestsCount() { return filteredReadRequestsCount; } @@ -727,7 +733,7 @@ long avgAgeNumerator = 0, numHFiles = 0; long tempMinStoreFileAge = Long.MAX_VALUE; long tempReadRequestsCount = 0, tempFilteredReadRequestsCount = 0, - tempWriteRequestsCount = 0; + tempWriteRequestsCount = 0, tempCpRequestsCount = 0; long tempCheckAndMutateChecksFailed = 0; long tempCheckAndMutateChecksPassed = 0; long tempStorefileIndexSize = 0; @@ -758,6 +764,7 @@ tempNumMutationsWithoutWAL += r.getNumMutationsWithoutWAL(); tempDataInMemoryWithoutWAL += r.getDataInMemoryWithoutWAL(); tempReadRequestsCount += r.getReadRequestsCount(); + tempCpRequestsCount += r.getCpRequestsCount(); tempFilteredReadRequestsCount += r.getFilteredReadRequestsCount(); tempWriteRequestsCount += r.getWriteRequestsCount(); tempCheckAndMutateChecksFailed += r.getCheckAndMutateChecksFailed(); @@ -873,6 +880,7 @@ numReferenceFiles= tempNumReferenceFiles; readRequestsCount = tempReadRequestsCount; + cpRequestsCount = tempCpRequestsCount; filteredReadRequestsCount = tempFilteredReadRequestsCount; writeRequestsCount = tempWriteRequestsCount; checkAndMutateChecksFailed = tempCheckAndMutateChecksFailed; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.java index 533a05d..b293cdf 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.java @@ -125,6 +125,11 @@ } @Override + public long getCpRequestCount() { + return this.region.getCpRequestsCount(); + } + + @Override public long getFilteredReadRequestCount() { return this.region.getFilteredReadRequestsCount(); } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.java index f06f747..6f8ad61 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.java @@ -76,8 +76,10 @@ metricsTable.setStoreFilesSize(metricsTable.getStoreFilesSize() + tempStorefilesSize); metricsTable.setTableSize(metricsTable.getMemStoresSize() + metricsTable.getStoreFilesSize()); metricsTable.setReadRequestsCount(metricsTable.getReadRequestsCount() + r.getReadRequestsCount()); + metricsTable.setCpRequestsCount(metricsTable.getCpRequestsCount() + r.getCpRequestsCount()); metricsTable.setWriteRequestsCount(metricsTable.getWriteRequestsCount() + r.getWriteRequestsCount()); - metricsTable.setTotalRequestsCount(metricsTable.getReadRequestsCount() + metricsTable.getWriteRequestsCount()); + metricsTable.setTotalRequestsCount(metricsTable.getReadRequestsCount() + + metricsTable.getWriteRequestsCount() + metricsTable.getCpRequestsCount()); } for(Map.Entry entry : localMetricsTableMap.entrySet()) { @@ -112,6 +114,15 @@ return 0; else return metricsTable.getReadRequestsCount(); + } + + @Override + public long getCpRequestsCount(String table) { + MetricsTableValues metricsTable = metricsTableMap.get(TableName.valueOf(table)); + if (metricsTable == null) + return 0; + else + return metricsTable.getCpRequestsCount(); } @Override @@ -168,6 +179,7 @@ private long totalRequestsCount; private long readRequestsCount; + private long cpRequestsCount; private long writeRequestsCount; private long memstoresSize; private long storeFilesSize; @@ -189,6 +201,14 @@ this.readRequestsCount = readRequestsCount; } + public long getCpRequestsCount() { + return cpRequestsCount; + } + + public void setCpRequestsCount(long cpRequestsCount) { + this.cpRequestsCount = cpRequestsCount; + } + public long getWriteRequestsCount() { return writeRequestsCount; } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Region.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Region.java index 80b18b8..7070ef2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Region.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Region.java @@ -140,6 +140,9 @@ /** @return read requests count for this region */ long getReadRequestsCount(); + /** @return coprocessor requests count for this region */ + long getCpRequestsCount(); + /** @return filtered read requests count for this region */ long getFilteredReadRequestsCount(); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestServerMetrics.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestServerMetrics.java index b3c903c..4016a68 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestServerMetrics.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestServerMetrics.java @@ -56,6 +56,8 @@ .mapToDouble(v -> v.getStoreFileIndexSize().get(Size.Unit.KILOBYTE)).sum(), 0); assertEquals(((long) Integer.MAX_VALUE) * 2, metrics.getRegionMetrics().values().stream().mapToLong(v -> v.getReadRequestCount()).sum()); + assertEquals(100, + metrics.getRegionMetrics().values().stream().mapToLong(v -> v.getCpRequestCount()).sum()); assertEquals(300, metrics.getRegionMetrics().values().stream().mapToLong(v -> v.getFilteredReadRequestCount()) .sum()); @@ -106,6 +108,7 @@ .setStorefiles(13).setStoreUncompressedSizeMB(23).setStorefileSizeMB(300) .setFilteredReadRequestsCount(200).setStorefileIndexSizeKB(40).setRootIndexSizeKB(303) .setReadRequestsCount(Integer.MAX_VALUE).setWriteRequestsCount(Integer.MAX_VALUE) + .setCpRequestsCount(100) .build(); ClusterStatusProtos.ServerLoad sl = diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancer.java index 149bf68..29cbe03 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancer.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancer.java @@ -126,6 +126,7 @@ RegionMetrics rl = mock(RegionMetrics.class); when(rl.getReadRequestCount()).thenReturn(0L); + when(rl.getCpRequestCount()).thenReturn(0L); when(rl.getWriteRequestCount()).thenReturn(0L); when(rl.getMemStoreSize()).thenReturn(Size.ZERO); when(rl.getStoreFileSize()).thenReturn(new Size(i, Size.Unit.MEGABYTE)); @@ -291,6 +292,7 @@ for (int i = 1; i < 5; i++) { BalancerRegionLoad regionLoad = mock(BalancerRegionLoad.class); when(regionLoad.getReadRequestsCount()).thenReturn(new Long(i)); + when(regionLoad.getCpRequestsCount()).thenReturn(new Long(i)); when(regionLoad.getStorefileSizeMB()).thenReturn(i); regionLoads.add(regionLoad); } @@ -302,6 +304,12 @@ // read requests are treated as a rate so the average rate here is simply 1 assertEquals(1, rateResult, 0.01); + StochasticLoadBalancer.CPRequestCostFunction cpCostFunction = + new StochasticLoadBalancer.CPRequestCostFunction(conf); + rateResult = cpCostFunction.getRegionLoadCost(regionLoads); + // coprocessor requests are treated as a rate so the average rate here is simply 1 + assertEquals(1, rateResult, 0.01); + StochasticLoadBalancer.StoreFileCostFunction storeFileCostFunction = new StochasticLoadBalancer.StoreFileCostFunction(conf); double result = storeFileCostFunction.getRegionLoadCost(regionLoads); 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 d56823e..1d047e1 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 @@ -111,6 +111,11 @@ } @Override + public long getCpRequestsCount() { + return 997; + } + + @Override public long getFilteredReadRequestsCount() { return 1997; } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperStub.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperStub.java index 524d03b..42b3d6a 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperStub.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperStub.java @@ -101,6 +101,11 @@ } @Override + public long getCpRequestCount() { + return 105; + } + + @Override public long getWriteRequestCount() { return 106; } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperStub.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperStub.java index ba333a5..16a94b5 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperStub.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsTableWrapperStub.java @@ -32,6 +32,11 @@ } @Override + public long getCpRequestsCount(String table) { + return 10; + } + + @Override public long getWriteRequestsCount(String table) { return 20; } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegion.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegion.java index 2119b91..d7a3321 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegion.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegion.java @@ -63,6 +63,9 @@ "namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_memstoreSize", 103, agg); HELPER.assertCounter( + "namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_cpRequestCount", + 105, agg); + HELPER.assertCounter( "namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_" + "filteredReadRequestCount", 107, agg); @@ -84,6 +87,9 @@ "namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_memstoreSize", 103, agg); HELPER.assertCounter( + "namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_cpRequestCount", + 105, agg); + HELPER.assertCounter( "namespace_TestNS_table_MetricsRegionWrapperStub_region_DEADBEEF001_metric_" + "filteredReadRequestCount", 107, agg);