[ 
https://issues.apache.org/jira/browse/HBASE-28059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Charles Connell updated HBASE-28059:
------------------------------------
    Description: 
When I run a snippet of code like this:
{code:java}
Map<byte[], RegionLoad> regionLoadMap = admin
  .getClusterStatus()
  .getLoad(
    ServerName.parseServerName(
      "my-server.my-company.net,60020,1693513660506"
    )
  )
  .getRegionsLoad();
for (byte[] startKey : regionLoadMap.keySet()) {
  RegionLoad regionLoad = regionLoadMap.get(startKey);
  LOG.info("Region {}: {}", Bytes.toStringBinary(startKey), regionLoad);
} {code}
I get logs like this:
{noformat}
Region <redacted-table-name>,<redacted row 
key>,1659484033280.2b89407a1223720344bed425bf3c29b0.: numberOfStores=1, 
numberOfStorefiles=3, storeRefCount=0, storefileUncompressedSizeMB=17998848, 
lastMajorCompactionTimestamp=1693211464712, storefileSizeMB=5895, 
compressionRatio=0.0003, memstoreSizeMB=1, readRequestsCount=118899553, 
writeRequestsCount=731192, rootIndexSizeKB=9, totalStaticIndexSizeKB=10413, 
totalStaticBloomSizeKB=6592, totalCompactingKVs=0, currentCompactedKVs=0, 
compactionProgressPct=NaN, completeSequenceId=78093096, 
dataLocality=1.0{noformat}
The {{storefileUncompressedSizeMB}} is vastly larger than the 
{{{}storefileSizeMB{}}}, so much more that it's not believable. I checked the 
store files in question in this instance. Adding up the uncompressed size 
reported in the HFile trailers sums to 5895 MiB, exactly 1024 times less than 
the reported 17998848.

The reason for the misreporting is that 
{{RegionLoad#getStoreUncompressedSizeMB()}} converts the value from a {{Size}} 
object wrong.

 

  was:
When I run a snippet of code like this:
{code:java}
Map<byte[], RegionLoad> regionLoadMap = admin
  .getClusterStatus()
  .getLoad(
    ServerName.parseServerName(
      "my-server.my-company.net,60020,1693513660506"
    )
  )
  .getRegionsLoad();
for (byte[] startKey : regionLoadMap.keySet()) {
  RegionLoad regionLoad = regionLoadMap.get(startKey);
  LOG.info("Region {}: {}", Bytes.toStringBinary(startKey), regionLoad);
} {code}
I get logs like this:
{noformat}
Region <redacted-table-name>,<redacted row 
key>,1659484033280.2b89407a1223720344bed425bf3c29b0.: numberOfStores=1, 
numberOfStorefiles=3, storeRefCount=0, storefileUncompressedSizeMB=17998848, 
lastMajorCompactionTimestamp=1693211464712, storefileSizeMB=5895, 
compressionRatio=0.0003, memstoreSizeMB=1, readRequestsCount=118899553, 
writeRequestsCount=731192, rootIndexSizeKB=9, totalStaticIndexSizeKB=10413, 
totalStaticBloomSizeKB=6592, totalCompactingKVs=0, currentCompactedKVs=0, 
compactionProgressPct=NaN, completeSequenceId=78093096, 
dataLocality=1.0{noformat}
The {{storefileUncompressedSizeMB}} is vastly larger than the 
{{{}storefileSizeMB{}}}, so much more that it's not believable. I checked the 
store files in question in this instance. Adding up the uncompressed size 
reported in the HFile trailers sums to 5895 MiB, exactly 1024 times less than 
the reported 17998848.

The reason for the misreporting is that {{RegionLoad#}}

{{getStoreUncompressedSizeMB() }}converts the value from a {{Size}} object 
wrong.

 


> RegionLoad returns getStoreUncompressedSizeMB() that is 1024 times too large
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-28059
>                 URL: https://issues.apache.org/jira/browse/HBASE-28059
>             Project: HBase
>          Issue Type: Improvement
>          Components: Admin
>    Affects Versions: 2.5.5
>            Reporter: Charles Connell
>            Assignee: Charles Connell
>            Priority: Major
>
> When I run a snippet of code like this:
> {code:java}
> Map<byte[], RegionLoad> regionLoadMap = admin
>   .getClusterStatus()
>   .getLoad(
>     ServerName.parseServerName(
>       "my-server.my-company.net,60020,1693513660506"
>     )
>   )
>   .getRegionsLoad();
> for (byte[] startKey : regionLoadMap.keySet()) {
>   RegionLoad regionLoad = regionLoadMap.get(startKey);
>   LOG.info("Region {}: {}", Bytes.toStringBinary(startKey), regionLoad);
> } {code}
> I get logs like this:
> {noformat}
> Region <redacted-table-name>,<redacted row 
> key>,1659484033280.2b89407a1223720344bed425bf3c29b0.: numberOfStores=1, 
> numberOfStorefiles=3, storeRefCount=0, storefileUncompressedSizeMB=17998848, 
> lastMajorCompactionTimestamp=1693211464712, storefileSizeMB=5895, 
> compressionRatio=0.0003, memstoreSizeMB=1, readRequestsCount=118899553, 
> writeRequestsCount=731192, rootIndexSizeKB=9, totalStaticIndexSizeKB=10413, 
> totalStaticBloomSizeKB=6592, totalCompactingKVs=0, currentCompactedKVs=0, 
> compactionProgressPct=NaN, completeSequenceId=78093096, 
> dataLocality=1.0{noformat}
> The {{storefileUncompressedSizeMB}} is vastly larger than the 
> {{{}storefileSizeMB{}}}, so much more that it's not believable. I checked the 
> store files in question in this instance. Adding up the uncompressed size 
> reported in the HFile trailers sums to 5895 MiB, exactly 1024 times less than 
> the reported 17998848.
> The reason for the misreporting is that 
> {{RegionLoad#getStoreUncompressedSizeMB()}} converts the value from a 
> {{Size}} object wrong.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to