Index: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (revision 1596385) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (working copy) @@ -982,8 +982,9 @@ serverLoad.addCoprocessors( Coprocessor.newBuilder().setName(coprocessor).build()); } + RegionLoad.Builder regionLoadBldr = RegionLoad.newBuilder(); for (HRegion region : regions) { - serverLoad.addRegionLoads(createRegionLoad(region)); + serverLoad.addRegionLoads(createRegionLoad(region, regionLoadBldr)); } serverLoad.setReportStartTime(reportStartTime); serverLoad.setReportEndTime(reportEndTime); @@ -1181,12 +1182,12 @@ /* * @param r Region to get RegionLoad for. - * + * @param regionLoadBldr the RegionLoad.Builder * @return RegionLoad instance. * * @throws IOException */ - private RegionLoad createRegionLoad(final HRegion r) { + private RegionLoad createRegionLoad(final HRegion r, RegionLoad.Builder regionLoadBldr) { byte[] name = r.getRegionName(); int stores = 0; int storefiles = 0; @@ -1223,11 +1224,13 @@ (int) (store.getTotalStaticBloomSize() / 1024); } } - RegionLoad.Builder regionLoad = RegionLoad.newBuilder(); + if (regionLoadBldr == null) { + regionLoadBldr = RegionLoad.newBuilder(); + } RegionSpecifier.Builder regionSpecifier = RegionSpecifier.newBuilder(); regionSpecifier.setType(RegionSpecifierType.REGION_NAME); regionSpecifier.setValue(HBaseZeroCopyByteString.wrap(name)); - regionLoad.setRegionSpecifier(regionSpecifier.build()) + regionLoadBldr.setRegionSpecifier(regionSpecifier.build()) .setStores(stores) .setStorefiles(storefiles) .setStoreUncompressedSizeMB(storeUncompressedSizeMB) @@ -1243,7 +1246,7 @@ .setCurrentCompactedKVs(currentCompactedKVs) .setCompleteSequenceId(r.lastFlushSeqId); - return regionLoad.build(); + return regionLoadBldr.build(); } /** @@ -1253,7 +1256,7 @@ public RegionLoad createRegionLoad(final String encodedRegionName) { HRegion r = null; r = this.onlineRegions.get(encodedRegionName); - return r != null ? createRegionLoad(r) : null; + return r != null ? createRegionLoad(r, null) : null; } /*