geode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Darrel Schneider <dschnei...@pivotal.io>
Subject Re: Review Request 61895: GEDOE-3516: TXManagerImpl.tryResume call may add itself again into the waiting thread queue
Date Fri, 25 Aug 2017 20:26:31 GMT

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




geode-core/src/main/java/org/apache/geode/internal/cache/TXManagerImpl.java
Line 1302 (original), 1302 (patched)
<https://reviews.apache.org/r/61895/#comment259934>

    Lets not make this package protection for unit test access. Instead keep it private and
add an accessor for the unit tests. Also try to not expose the whole map to unit tests. For
example in this case the unit test just needs to check that no threads are still waiting for
a particular txid.



geode-core/src/main/java/org/apache/geode/internal/cache/TXManagerImpl.java
Lines 1346 (patched)
<https://reviews.apache.org/r/61895/#comment259935>

    Instead of fixing this in the finally block we decided it would be best to keep this thread
from adding itself multiple times to the queue. Also we think other race conditions exist
in which the while loop that calls tryResume does not recheck if the tx still exists. Also
it seems like a race exists in which suspend unparks a tryResume call that ends up not resuming
because of the timeout but does not poll the queue again and unpark the next waiter.


- Darrel Schneider


On Aug. 25, 2017, 9:53 a.m., Eric Shu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/61895/
> -----------------------------------------------------------
> 
> (Updated Aug. 25, 2017, 9:53 a.m.)
> 
> 
> Review request for geode, anilkumar gingade, Darrel Schneider, Lynn Gallinat, and Nick
Reich.
> 
> 
> Bugs: GEODE-3516
>     https://issues.apache.org/jira/browse/GEODE-3516
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> Remove the thread from waiting thread queue after successfully resumed the transaction
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/org/apache/geode/internal/cache/TXManagerImpl.java a0a4d7c

>   geode-core/src/test/java/org/apache/geode/internal/cache/TXManagerImplJUnitTest.java
a2c1e70 
> 
> 
> Diff: https://reviews.apache.org/r/61895/diff/2/
> 
> 
> Testing
> -------
> 
> precheckin.
> 
> 
> Thanks,
> 
> Eric Shu
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message