private void testConcurrentStoreAndRemoveMap() throws InterruptedException { String fileName = "memFS:testConcurrentStoreAndRemoveMap.h3"; final MVStore s = openStore(fileName); int count = 200; for (int i = 0; i < count; i++) { MVMap<Integer, Integer> m = s.openMap("d" + i); m.put(1, 1); } final AtomicInteger counter = new AtomicInteger(); Task task = new Task() { @Override public void call() throws Exception { while (!stop) { counter.incrementAndGet(); s.commit(); } } }; task.execute(); Thread.sleep(1); for (int i = 0; i < count || counter.get() < count; i++) { MVMap<Integer, Integer> m = s.openMap("d" + i); m.put(1, 10); s.removeMap(m); if (task.isFinished()) { break; } } task.get(); s.close(); FileUtils.deleteRecursive("memFS:", false); }