You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by Eric Shu <es...@pivotal.io> on 2016/06/28 17:07:28 UTC

Review Request 49329: GEODE-1607: ConcurrentModificationException could occur when iterating through hostedTXStates HashMap during closing cache

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

Review request for geode, Darrel Schneider and Swapnil Bawaskar.


Bugs: GEODE-1607
    https://issues.apache.org/jira/browse/GEODE-1607


Repository: geode


Description
-------

Fix ConcurrentModificationException during cache close


Diffs
-----

  geode-core/src/main/java/com/gemstone/gemfire/internal/cache/TXManagerImpl.java 1512234 

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


Testing
-------

precheckin


Thanks,

Eric Shu


Re: Review Request 49329: GEODE-1607: ConcurrentModificationException could occur when iterating through hostedTXStates HashMap during closing cache

Posted by Darrel Schneider <ds...@pivotal.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/49329/#review140048
-----------------------------------------------------------


Ship it!




Ship It!

- Darrel Schneider


On June 29, 2016, 1 p.m., Eric Shu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/49329/
> -----------------------------------------------------------
> 
> (Updated June 29, 2016, 1 p.m.)
> 
> 
> Review request for geode, Darrel Schneider and Swapnil Bawaskar.
> 
> 
> Bugs: GEODE-1607
>     https://issues.apache.org/jira/browse/GEODE-1607
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> Fix ConcurrentModificationException during cache close
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/com/gemstone/gemfire/internal/cache/TXManagerImpl.java 1512234 
> 
> Diff: https://reviews.apache.org/r/49329/diff/
> 
> 
> Testing
> -------
> 
> precheckin
> 
> 
> Thanks,
> 
> Eric Shu
> 
>


Re: Review Request 49329: GEODE-1607: ConcurrentModificationException could occur when iterating through hostedTXStates HashMap during closing cache

Posted by Eric Shu <es...@pivotal.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/49329/
-----------------------------------------------------------

(Updated June 29, 2016, 8 p.m.)


Review request for geode, Darrel Schneider and Swapnil Bawaskar.


Bugs: GEODE-1607
    https://issues.apache.org/jira/browse/GEODE-1607


Repository: geode


Description
-------

Fix ConcurrentModificationException during cache close


Diffs (updated)
-----

  geode-core/src/main/java/com/gemstone/gemfire/internal/cache/TXManagerImpl.java 1512234 

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


Testing
-------

precheckin


Thanks,

Eric Shu


Re: Review Request 49329: GEODE-1607: ConcurrentModificationException could occur when iterating through hostedTXStates HashMap during closing cache

Posted by Eric Shu <es...@pivotal.io>.

> On June 28, 2016, 9:36 p.m., Darrel Schneider wrote:
> > geode-core/src/main/java/com/gemstone/gemfire/internal/cache/TXManagerImpl.java, line 589
> > <https://reviews.apache.org/r/49329/diff/1/?file=1431990#file1431990line589>
> >
> >     Why do you release the sync BEFORE iterating the hostedTXStates?

Iterate through hostedTXStates map and trying acquire the ReentrantLock of a TXStateProxyImpl could lead to dead lock, as another p2p thread processing a commit message could hold the ReentrantLock while trying to get the synchronized lock of the hostedTXStates map to remove the TXStateProxyImpl from the map.


> On June 28, 2016, 9:36 p.m., Darrel Schneider wrote:
> > geode-core/src/main/java/com/gemstone/gemfire/internal/cache/TXManagerImpl.java, line 162
> > <https://reviews.apache.org/r/49329/diff/1/?file=1431990#file1431990line162>
> >
> >     why make this concurrent? Every place (except close) that uses this map first synchronizes on it.

Avoid using ConcurrentHashMap by dump TXStateProxy to an array and iterate through that during close().


- Eric


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


On June 29, 2016, 8 p.m., Eric Shu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/49329/
> -----------------------------------------------------------
> 
> (Updated June 29, 2016, 8 p.m.)
> 
> 
> Review request for geode, Darrel Schneider and Swapnil Bawaskar.
> 
> 
> Bugs: GEODE-1607
>     https://issues.apache.org/jira/browse/GEODE-1607
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> Fix ConcurrentModificationException during cache close
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/com/gemstone/gemfire/internal/cache/TXManagerImpl.java 1512234 
> 
> Diff: https://reviews.apache.org/r/49329/diff/
> 
> 
> Testing
> -------
> 
> precheckin
> 
> 
> Thanks,
> 
> Eric Shu
> 
>


Re: Review Request 49329: GEODE-1607: ConcurrentModificationException could occur when iterating through hostedTXStates HashMap during closing cache

Posted by Darrel Schneider <ds...@pivotal.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/49329/#review139868
-----------------------------------------------------------




geode-core/src/main/java/com/gemstone/gemfire/internal/cache/TXManagerImpl.java (line 162)
<https://reviews.apache.org/r/49329/#comment205215>

    why make this concurrent? Every place (except close) that uses this map first synchronizes on it.



geode-core/src/main/java/com/gemstone/gemfire/internal/cache/TXManagerImpl.java (line 589)
<https://reviews.apache.org/r/49329/#comment205216>

    Why do you release the sync BEFORE iterating the hostedTXStates?


- Darrel Schneider


On June 28, 2016, 10:07 a.m., Eric Shu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/49329/
> -----------------------------------------------------------
> 
> (Updated June 28, 2016, 10:07 a.m.)
> 
> 
> Review request for geode, Darrel Schneider and Swapnil Bawaskar.
> 
> 
> Bugs: GEODE-1607
>     https://issues.apache.org/jira/browse/GEODE-1607
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> Fix ConcurrentModificationException during cache close
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/com/gemstone/gemfire/internal/cache/TXManagerImpl.java 1512234 
> 
> Diff: https://reviews.apache.org/r/49329/diff/
> 
> 
> Testing
> -------
> 
> precheckin
> 
> 
> Thanks,
> 
> Eric Shu
> 
>