[ 
https://issues.apache.org/jira/browse/IGNITE-10263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Mashenkov updated IGNITE-10263:
--------------------------------------
    Description: 
The issue can be easily reproduced with IgniteCacheIncrementTxTest in Mvcc mode.

 

Vacuum.cleanup() fails on cctx.gate().enter() if cache is stopped concurrently.

ctx.gate().enter() method fails with IllegalStateException right after readLock 
has been taken.
 So, this lock will be never released and prevent writeLock being taken on node 
stop.

Replacing enter() with enterIfNotStopped() resolves the issue, but most likely 
we should release readLock on failure inside gateway.enter().

  was:
The issue can be easily reproduced with IgniteCacheIncrementTxTest in Mvcc mode.

 

Vacuum.cleanup() fails on cctx.gate().enter() if cache is stopped concurrently.

ctx.gate().enter() method fails with IllegalStateException right after readLock 
has been taken.
So, this lock will be never released and prevent writeLock being taken on node 
stop.

Replacing enter() with enterIfNotStopped() resolve the issue, but most likely 
we should release readLock on failure inside gateway.enter().


> MVCC: Concurrent cache stop can cause vacuum failure.
> -----------------------------------------------------
>
>                 Key: IGNITE-10263
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10263
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache, mvcc
>            Reporter: Andrew Mashenkov
>            Priority: Critical
>
> The issue can be easily reproduced with IgniteCacheIncrementTxTest in Mvcc 
> mode.
>  
> Vacuum.cleanup() fails on cctx.gate().enter() if cache is stopped 
> concurrently.
> ctx.gate().enter() method fails with IllegalStateException right after 
> readLock has been taken.
>  So, this lock will be never released and prevent writeLock being taken on 
> node stop.
> Replacing enter() with enterIfNotStopped() resolves the issue, but most 
> likely we should release readLock on failure inside gateway.enter().



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to