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


Ship it!




Ship It!

- Scott Jewell


On Sept. 23, 2016, 10:51 p.m., Darrel Schneider wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/52228/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2016, 10:51 p.m.)
> 
> 
> Review request for geode, anilkumar gingade, Eric Shu, Scott Jewell, and Ken 
> Howe.
> 
> 
> Bugs: GEODE-1885
>     https://issues.apache.org/jira/browse/GEODE-1885
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> The fix for GEODE-1885 introduced a hang on off-heap regions.
> If a concurrent close/destroy of the region happens while other threads are 
> modifying it then the thread doing the modification can get stuck in a hot 
> loop that never terminates.
> The hot loop is in AbstractRegionMap when it tests the existing region entry 
> it finds to see if it can be modified. If the region entry has a value that 
> says it is removed then the operation spins around and tries again. It 
> expects the thread that marked it as being removed to also remove it from the 
> map. The fix for GEODE-1885 can cause a remove to not happen.
> So this fix does two things:
>  1. On retry remove the existing removed region entry from the map.
>  2. putEntryIfAbsent now only releases the current entry if it has an 
> off-heap reference. This prevents an infinite loop that was caused by the 
> current thread who just added a new entry with REMOVE_PHASE1 from releasing 
> it (changing it to REMOVE_PHASE2) because it see that the region is 
> closed/destroyed.
> 
> 
> Diffs
> -----
> 
>   
> geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
>  33e98b6ae8a795c5a7b60aa93c7384750eb9582b 
> 
> Diff: https://reviews.apache.org/r/52228/diff/
> 
> 
> Testing
> -------
> 
> precheckin
> 
> 
> Thanks,
> 
> Darrel Schneider
> 
>

Reply via email to