-----------------------------------------------------------
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

Reply via email to