Jinmei Liao created GEODE-8771: ---------------------------------- Summary: concurrent puts and invalidates will cause PR clear to hang Key: GEODE-8771 URL: https://issues.apache.org/jira/browse/GEODE-8771 Project: Geode Issue Type: Sub-task Components: core Reporter: Jinmei Liao
On current feature/GEODE-7665 feature branch. The below test will hang: {quote}public class PRClearIntegrationTest { @Rule public ServerStarterRule server = new ServerStarterRule().withAutoStart(); @Rule public ExecutorServiceRule executor = new ExecutorServiceRule(); @Test public void test() throws Exception { InternalCache cache = server.getCache(); Region<Object, Object> region = server.createPartitionRegion("regionA", f->{}, f->f.setTotalNumBuckets(1)); cache.getQueryService().createIndex("indexA", "r", "/regionA r"); region.put(0, "value0"); CompletableFuture<Void> put = executor.runAsync(() -> { Thread.currentThread().setName("put-Thread"); IntStream.range(0, 1).forEach(i-> region.invalidate(i, i)); }); CompletableFuture<Void> invalidate = executor.runAsync(() -> { Thread.currentThread().setName("invalidate-Thread"); IntStream.range(0, 1).forEach(i-> region.invalidate(0)); }); CompletableFuture<Void> clear = executor.runAsync(() -> { Thread.currentThread().setName("Clear-Thread"); region.clear(); }); put.get(); clear.get(); invalidate.get(); } }{quote} -- This message was sent by Atlassian Jira (v8.3.4#803005)