You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Jinmei Liao (Jira)" <ji...@apache.org> on 2020/12/07 22:28:00 UTC
[jira] [Created] (GEODE-8771) concurrent puts and invalidates will
cause PR clear to hang
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)