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

Shashikant Banerjee resolved HDDS-5122.
---------------------------------------
    Fix Version/s: 1.2.0
       Resolution: Fixed

> SCM Reinitialization can end up leaking Ratis Segmented RaftLogWorker threads
> -----------------------------------------------------------------------------
>
>                 Key: HDDS-5122
>                 URL: https://issues.apache.org/jira/browse/HDDS-5122
>             Project: Apache Ozone
>          Issue Type: Bug
>          Components: SCM HA
>            Reporter: István Fajth
>            Assignee: Shashikant Banerjee
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.2.0
>
>
> During SCM reinitialialisation, ratis server is spinned up to check if an 
> existing ratis group exists or not, and closes the server without starting 
> it. In ratis, the segmented raft log worker thraeds are started during init() 
> itself but get closed during raftServer.close() only if the server 
> transitions to RUNNING state which causes the issue.
>  
> {code:java}
> Attaching to process ID 266710, please wait...
> Debugger attached successfully.
> Server compiler detected.
> JVM version is 25.232-b09
> Deadlock Detection:No deadlocks found.Thread 266745: (state = BLOCKED)Locked 
> ownable synchronizers:
>     - NoneThread 266783: (state = BLOCKED)
>  - sun.misc.Unsafe.park(boolean, long) @bci=0 (Compiled frame; information 
> may be imprecise)
>  - java.util.concurrent.locks.LockSupport.parkNanos(java.lang.Object, long) 
> @bci=20, line=215 (Compiled frame)
>  - 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(long)
>  @bci=78, line=2078 (Compiled frame)
>  - 
> org.apache.ratis.util.DataBlockingQueue.poll(org.apache.ratis.util.TimeDuration)
>  @bci=134, line=137 (Compiled frame)
>  - org.apache.ratis.server.raftlog.segmented.SegmentedRaftLogWorker.run() 
> @bci=16, line=292 (Interpreted frame)
>  - 
> org.apache.ratis.server.raftlog.segmented.SegmentedRaftLogWorker$$Lambda$161.run()
>  @bci=4 (Interpreted frame)
>  - java.lang.Thread.run() @bci=11, line=748 (Interpreted frame)Locked ownable 
> synchronizers:
>     - NoneThread 266761: (state = BLOCKED)Locked ownable synchronizers:
>     - NoneThread 266760: (state = BLOCKED)Locked ownable synchronizers:
>     - NoneThread 266759: (state = BLOCKED)
>  - java.lang.Object.wait(long) @bci=0 (Interpreted frame)
>  - java.lang.ref.ReferenceQueue.remove(long) @bci=59, line=144 (Compiled 
> frame)
>  - java.lang.ref.ReferenceQueue.remove() @bci=2, line=165 (Compiled frame)
>  - java.lang.ref.Finalizer$FinalizerThread.run() @bci=36, line=216 
> (Interpreted frame)Locked ownable synchronizers:
>     - NoneThread 266758: (state = BLOCKED)
>  - java.lang.Object.wait(long) @bci=0 (Interpreted frame)
>  - java.lang.Object.wait() @bci=2, line=502 (Compiled frame)
>  - java.lang.ref.Reference.tryHandlePending(boolean) @bci=54, line=191 
> (Compiled frame)
>  - java.lang.ref.Reference$ReferenceHandler.run() @bci=1, line=153 
> (Interpreted frame)Locked ownable synchronizers:
>     - None
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to