You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Shilun Fan (Jira)" <ji...@apache.org> on 2026/10/01 01:47:00 UTC

[jira] [Updated] (RATIS-2719) SegmentedRaftLog.close may deadlock with the cache eviction thread

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

Shilun Fan updated RATIS-2719:
------------------------------
    Description: 
{{SegmentedRaftLog.close() may deadlock with the background cache eviction thread.}}

Currently, close() acquires the Raft log write lock before calling cacheEviction.close(). 

That method interrupts the eviction thread and waits for it to terminate using Thread.join().

{{Meanwhile, checkAndEvictCache() also needs the same write lock.}}

  was:
{{SegmentedRaftLog.close() may deadlock with the background cache eviction thread.}}

{{Currently, close() acquires the Raft log write lock before calling
cacheEviction.close(). }}

{{That method interrupts the eviction thread
and waits for it to terminate using Thread.join().}}

{{Meanwhile, checkAndEvictCache() also needs the same write lock.}}


> SegmentedRaftLog.close may deadlock with the cache eviction thread
> ------------------------------------------------------------------
>
>                 Key: RATIS-2719
>                 URL: https://issues.apache.org/jira/browse/RATIS-2719
>             Project: Ratis
>          Issue Type: Bug
>            Reporter: Shilun Fan
>            Assignee: Shilun Fan
>            Priority: Major
>
> {{SegmentedRaftLog.close() may deadlock with the background cache eviction thread.}}
> Currently, close() acquires the Raft log write lock before calling cacheEviction.close(). 
> That method interrupts the eviction thread and waits for it to terminate using Thread.join().
> {{Meanwhile, checkAndEvictCache() also needs the same write lock.}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)