You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "subramanian raghunathan (JIRA)" <ji...@apache.org> on 2011/08/18 12:38:27 UTC
[jira] [Commented] (HBASE-4215) RS requestsPerSecond counter seems
to be off
[ https://issues.apache.org/jira/browse/HBASE-4215?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13086939#comment-13086939 ]
subramanian raghunathan commented on HBASE-4215:
------------------------------------------------
As part of the defect fix HBASE-3807
we proposed and modified the request attribute to
requestPersecond both in RegionServer{RegionServerMetrics} and Master{HServerLoad}
RegionServerMetrics calcualtes from MetricsRate
Following is the code doing the calcualtion:
{code}
long now = System.currentTimeMillis();
long diff = (now-ts)/1000;
if (diff == 0) diff = 1; // sigh this is crap.
this.prevRate = (float)value / diff;
{code}
{color:red}this.prevRate = (float)value / diff;{color}
prevRate is finally displayed as "requestPersecond" as per the change in HBASE-3807
But in master the same is calculated from HServerLoad
HRegionServer.buildServerLoad()
{code}
new HServerLoad(requestCount.get(),
(int)(memory.getUsed() / 1024 / 1024),
(int) (memory.getMax() / 1024 / 1024), regionLoads)
{code}
Request counter is present in HregionServer
{code}
// Request counter.
// Do we need this? Can't we just sum region counters? St.Ack 20110412
private AtomicInteger requestCount = new AtomicInteger();
{code}
Obtained form the request counter which is incremented in all the API's of HRegionServer
{color:red}This is not calculated per second its representing the total request per second.{color}
but still in the master page we claim {color:green}"Load is requests per second and count of regions loaded."{color}
This promted me in changing the convention from request to resquestPerSecond
{color:green}Ideally The fix should be calculating the requestpersecond at region server and
initializing the HServerLoad with that value and the same to be displayed in the master.{color}
Region Servers
Address Start Code Load
linux-kxjl:60030 1313659887824linux-kxjl,60020,1313659887824 requestsPerSecond=0, numberOfOnlineRegions=2, usedHeapMB=26, maxHeapMB=995
Total: servers: 1 requests=0, regions=2
Load is requests per second and count of regions loaded
Also its better to change the agregation details also into the new convention
{color:red} requests=0, regions=2{color}
to
{color:green} requestsPerSecond=0, numberOfOnlineRegions=2{color}
If this looks fine i can provide a patch for the same.
> RS requestsPerSecond counter seems to be off
> --------------------------------------------
>
> Key: HBASE-4215
> URL: https://issues.apache.org/jira/browse/HBASE-4215
> Project: HBase
> Issue Type: Bug
> Components: metrics
> Affects Versions: 0.92.0
> Reporter: Todd Lipcon
> Assignee: ramkrishna.s.vasudevan
> Priority: Critical
> Fix For: 0.92.0
>
>
> In testing trunk, I had YCSB reporting some 40,000 requests/second, but the summary info on the master webpage was consistently indicating somewhere around 3x that. I'm guessing that we may have a bug where we forgot to divide by time.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira