You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Juan Ramos (Jira)" <ji...@apache.org> on 2021/10/22 09:36:00 UTC

[jira] [Created] (GEODE-9760) Partition Regions Gets Statistic Broken

Juan Ramos created GEODE-9760:
---------------------------------

             Summary: Partition Regions Gets Statistic Broken
                 Key: GEODE-9760
                 URL: https://issues.apache.org/jira/browse/GEODE-9760
             Project: Geode
          Issue Type: Bug
          Components: statistics
    Affects Versions: 1.15.0
            Reporter: Juan Ramos
         Attachments: workspace.zip


The issue was introduced by [GEODE-8876|https://issues.apache.org/jira/browse/GEODE-8876]. After commit [5dde7d765c252ef20cfb16981b18e68903e32165|https://github.com/apache/geode/commit/5dde7d765c252ef20cfb16981b18e68903e32165], the {{CachePerfStats.gets}} statistic for {{PartitionRegion}} remains empty, even though {{get}} operations are executed on the region.
I'm attaching a small scenario that reproduces the problem every single time when using any commit after the mentioned one.
The {{reproduce.sh}} script:

# Builds a small java client that creates 10000 entries into the configured region, and launches 5 threads to continuously execute the {{Region.get()}} operation for 60 seconds.
# Starts a cluster with 1 locator and 3 servers.
# Creates a partition region.
# Launches the client application and waits for it to complete.
# Prints the amount of gets operations/sec for the relevant region (VSD can be used here to inspect the values instead, the result is exactly the same).

---

How to reproduce the problem:
# Download the attached tar file.
# Uncompress the file and update the {{GEMFIRE}} variable to use your local build of the latest Geode from {{develop}}.
# Execute the {{reproduce.sh}} script and wait for it to finish.

Once the execution is done, the output will show the following:
{noformat}
server-0.gfs:
  gets operations/sec: samples=74 min=0 max=0 average=0 stddev=0 last=0
server-1.gfs:
  gets operations/sec: samples=74 min=0 max=0 average=0 stddev=0 last=0
server-2.gfs:
  gets operations/sec: samples=75 min=0 max=0 average=0 stddev=0 last=0
{noformat}

The above is clearly wrong, as the {{client}} application continuously executed the {{Region.get()}} operation using 5 threads for 60 seconds.

If you execute a reverse apply of commit [5dde7d765c252ef20cfb16981b18e68903e32165|https://github.com/apache/geode/commit/5dde7d765c252ef20cfb16981b18e68903e32165] to undo the changes (use {{git show 5dde7d765c252ef20cfb16981b18e68903e32165 | git apply -R}}), re-build {{geode}} and execute the tests again the output, instead, will show the correct values:
{noformat}
server-0.gfs:
  gets operations/sec: samples=75 min=0 max=22500.5 average=15252.61 stddev=7747.94 last=0
server-1.gfs:
  gets operations/sec: samples=75 min=0 max=22487.54 average=15241.54 stddev=7705.99 last=0
server-2.gfs:
  gets operations/sec: samples=75 min=0 max=22194.61 average=15459.16 stddev=7751.5 last=0
{noformat}




--
This message was sent by Atlassian Jira
(v8.3.4#803005)