git-hulk commented on PR #2763:
URL: https://github.com/apache/kvrocks/pull/2763#issuecomment-2633498049

   > This indicates that, the ReplicationThread::Stop() is called from the 
replication thread itself (which is a deadlock). (but it looks impossible.)
   
   @PragmaTwice From logs, it seems the replication thread was joined(due to 
receiving a TERM signal) before scheduling the thread. And we didn't check if 
it's joinable before joining the thread.
   
   ```
   W20250203 07:12:02.381725 140295312238144 replication.cc:351] Clean old 
synced checkpoint successfully
   I20250203 07:12:02.382069 140295312238144 cluster.cc:271] Change server role 
to slave, stop migration task
   I20250203 07:12:02.382079 140295312238144 cluster.cc:273] SLAVE OF 
127.0.0.1:38657 enabled by cluster topology setting
   I20250203 07:12:02.382861 140295113012800 main.cc:50] Signal Terminated (15) 
received, stopping the server
   W20250203 07:12:02.383481 140295113012800 replication.cc:371] Replication 
thread operation failed: thread #140295113012800 cannot be `join`ed: Resource 
deadlock avoided
   I20250203 07:12:02.383501 140295113012800 replication.cc:373] [replication] 
Stopped
   E20250203 07:12:02.427797 140295445802240 signal_util.h:33] Ooops! Apache 
Kvrocks unstable (commit c7ab45d3) got signal: Aborted (6)
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to