----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/47195/ -----------------------------------------------------------
(Updated May 12, 2016, 10:45 p.m.) Review request for geode, Bruce Schuchardt, Hitesh Khamesra, and Udo Kohlmeyer. Changes ------- Add a counter fetchTaskCount in ClientMetadataService to count the number fetch task threads. Make sure the counter is increased before a fetch task thread is scheduled. And decrease the counter when a thread is done. In the test, use Awaitility to make all fetch tasks threads are completed, i.e. fetchTaskCount == 0, before the next step. Note that this patch also fixes GEODE-493, whose root cause is the same as GEODE-699. Repository: geode Description ------- When the fetch task threads are spawned in the client metadata service for single hop, It is possible that certain thread is still lingering during the second round of PUTs, which assumes all such fetch tasks should be completed at that time. The lingering thread causes the flag to be set, which results in test failure. The fix tries to shutdown the ExecutorService and make sure all fetch task threads are terminated before the second round of PUTs. So that there is no unexpected flag change in the second round. Diffs (updated) ----- geode-core/src/main/java/com/gemstone/gemfire/cache/client/internal/ClientMetadataService.java ed26708 geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionSingleHopDUnitTest.java f79d6c6 Diff: https://reviews.apache.org/r/47195/diff/ Testing ------- Thanks, Jianxia Chen
