Hello Dmitry, To be honest, I don't quite understand the proposed fix. Could you please describe in detail the issue you are trying to fix? By the way, please take a look at GridCacheDatabaseSharedManager.checkpointReadLock:
@Override public void checkpointReadLock() { if (checkpointLock.writeLock().isHeldByCurrentThread()) return; ... } In other words, the read lock is not acquired in case the write lock is already held. So, do we really need to unconditionally unlock the read lock at checkpointReadUnlock as you propose? Thanks, S. вт, 25 февр. 2020 г. в 13:32, Dmitry Gorchakov < dmitry.gorchakov.mu...@gmail.com>: > This issue once reproduced in my productive with similar stack trace. > During > sources analysis I saw the use unsafe of method > writeLock().isHeldByCurrentThread() for unlocking checkpoint. This may > cause > thread to starvation. Problem no longer appeared after local fix. > I prepared pull request https://github.com/apache/ignite/pull/7445. > Accept please jira issue to me and review my PR. > > > > > -- > Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/ >