You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by Hitesh Khamesra <hk...@pivotal.io> on 2016/10/14 21:05:57 UTC

Review Request 52896: GEODE-706 Fixed race condition between expiry thread and put thread.

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/52896/
-----------------------------------------------------------

Review request for geode, Bruce Schuchardt, Darrel Schneider, and Udo Kohlmeyer.


Repository: geode


Description
-------

There was possibility that expiry thread destroying the entry and
    another thread doing update on same key. In this case expiry thread
    cancel's existing task and update thread adds expiry task. But this
    tasks are refer by regionEntry, which is same for both the threads.
    So in this case if expiry thread cancel's task after update thread
    then that entry will never expire.


Diffs
-----

  geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java 5861e9a 
  geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java 6a964c0 
  geode-core/src/main/java/org/apache/geode/internal/cache/EntryExpiryTask.java 816f32f 
  geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java a6951de 

Diff: https://reviews.apache.org/r/52896/diff/


Testing
-------


Thanks,

Hitesh Khamesra


Re: Review Request 52896: GEODE-706 Fixed race condition between expiry thread and put thread.

Posted by Bruce Schuchardt <bs...@pivotal.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/52896/#review152895
-----------------------------------------------------------




geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java (line 8721)
<https://reviews.apache.org/r/52896/#comment222071>

    It would be a lot better to have two different methods, one that takes an expiryTask parameter and another that doesn't.


- Bruce Schuchardt


On Oct. 14, 2016, 9:05 p.m., Hitesh Khamesra wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/52896/
> -----------------------------------------------------------
> 
> (Updated Oct. 14, 2016, 9:05 p.m.)
> 
> 
> Review request for geode, Bruce Schuchardt, Darrel Schneider, and Udo Kohlmeyer.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> There was possibility that expiry thread destroying the entry and
>     another thread doing update on same key. In this case expiry thread
>     cancel's existing task and update thread adds expiry task. But this
>     tasks are refer by regionEntry, which is same for both the threads.
>     So in this case if expiry thread cancel's task after update thread
>     then that entry will never expire.
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java 5861e9a 
>   geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java 6a964c0 
>   geode-core/src/main/java/org/apache/geode/internal/cache/EntryExpiryTask.java 816f32f 
>   geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java a6951de 
> 
> Diff: https://reviews.apache.org/r/52896/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Hitesh Khamesra
> 
>