Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-9760

Partition Regions Gets Statistic Broken

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.15.0
    • 1.15.0
    • statistics
    • None

    Description

      The issue was introduced by GEODE-8876. After 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:

      1. 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.
      2. Starts a cluster with 1 locator and 3 servers.
      3. Creates a partition region.
      4. Launches the client application and waits for it to complete.
      5. 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:

      1. Download the attached tar file.
      2. Uncompress the file and update the GEMFIRE variable to use your local build of the latest Geode from develop.
      3. Execute the reproduce.sh script and wait for it to finish.

      Once the execution is done, the output will show the following:

      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
      

      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 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:

      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
      

      Attachments

        1. workspace.zip
          174 kB
          Juan Ramos

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jjramos Juan Ramos
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: