[ https://issues.apache.org/jira/browse/GEODE-7764?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Juan Ramos updated GEODE-7764: ------------------------------ Priority: Minor (was: Major) > LastModifiedTime not updated for Destroy/Remove > ----------------------------------------------- > > Key: GEODE-7764 > URL: https://issues.apache.org/jira/browse/GEODE-7764 > Project: Geode > Issue Type: Bug > Components: regions, statistics > Reporter: Juan Ramos > Priority: Minor > > This issue was raised through > [this|https://stackoverflow.com/questions/54764977/why-is-lastmodifiedtime-in-distributedregionmxbean-is-not-updated-if-data-is-del] > StackOverflow question, basically the `lastModifiedTime` is not updated > after a `destroy`/`remove` operation. > The following test can be used to consistently reproduce the issue: > {code} > @Category(OQLQueryTest.class) > @RunWith(JUnitParamsRunner.class) > public class StackOverflowTests { > private static final String REGION_NAME = "testRegion"; > @Rule > public ServerStarterRule server = new > ServerStarterRule().withJMXManager().withAutoStart(); > private Region<String, String> setUpRegion(RegionShortcut regionShortcut) { > return server.getCache().<String, > String>createRegionFactory(regionShortcut) > .setStatisticsEnabled(true) > .create(REGION_NAME); > } > @Test > @Parameters({"REPLICATE", "PARTITION"}) > public void lastModifiedTimeForRemove(RegionShortcut regionShortcut) { > Region<String, String> region = setUpRegion(regionShortcut); > long initialLastModifiedTime = > region.getStatistics().getLastModifiedTime(); > region.put("key1", "value1"); > await() > .atMost(1, TimeUnit.MINUTES) > .untilAsserted(() -> > assertThat(region.getStatistics().getLastModifiedTime()).isGreaterThan(initialLastModifiedTime)); > long lLastModifiedTimeAfterPut = > region.getStatistics().getLastModifiedTime(); > region.remove("key1"); > await() > .atMost(1, TimeUnit.MINUTES) > .untilAsserted(() -> > assertThat(region.getStatistics().getLastModifiedTime()).isGreaterThan(lLastModifiedTimeAfterPut)); > } > @Test > @Parameters({"REPLICATE", "PARTITION"}) > public void lastModifiedTimeForDestroy(RegionShortcut regionShortcut) { > Region<String, String> region = setUpRegion(regionShortcut); > long initialLastModifiedTime = > region.getStatistics().getLastModifiedTime(); > region.put("key1", "value1"); > await() > .atMost(1, TimeUnit.MINUTES) > .untilAsserted(() -> > assertThat(region.getStatistics().getLastModifiedTime()).isGreaterThan(initialLastModifiedTime)); > long lLastModifiedTimeAfterPut = > region.getStatistics().getLastModifiedTime(); > region.destroy("key1"); > await() > .atMost(1, TimeUnit.MINUTES) > .untilAsserted(() -> > assertThat(region.getStatistics().getLastModifiedTime()).isGreaterThan(lLastModifiedTimeAfterPut)); > } > } > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)