dcapwell commented on PR #2256:
URL: https://github.com/apache/cassandra/pull/2256#issuecomment-1507274741

   Working on a simulator test and I see the following, `journal.shutdown()` 
hangs:
   
   ```
   "begin:1@2840" prio=5 tid=0x10 nid=NA waiting for monitor entry
     java.lang.Thread.State: BLOCKED
         waiting for AccordJournal-disk-flusher-group:1@4442 to release lock on 
<0x12b6> (a org.apache.cassandra.journal.Flusher$FlushRunnable)
          at 
org.apache.cassandra.concurrent.InfiniteLoopExecutor.lambda$interruptHandler$0(InfiniteLoopExecutor.java:101)
          at 
org.apache.cassandra.concurrent.InfiniteLoopExecutor$$Lambda$307.410057676.accept(Unknown
 Source:-1)
          at 
org.apache.cassandra.concurrent.InfiniteLoopExecutor.shutdown(InfiniteLoopExecutor.java:155)
          at org.apache.cassandra.journal.Flusher.shutdown(Flusher.java:97)
          at org.apache.cassandra.journal.Journal.shutdown(Journal.java:165)
          at 
org.apache.cassandra.service.accord.AccordJournal.shutdown(AccordJournal.java:82)
   ```
   
   Here is the lock holder
   
   ```
   "AccordJournal-disk-flusher-group:1@4442" prio=5 tid=0x1d nid=NA waiting
     java.lang.Thread.State: WAITING
         blocks begin:1@2840
          at java.lang.Object.wait(Object.java:-1)
          at java.lang.Object.wait(Object.java:502)
          at 
org.apache.cassandra.simulator.systems.InterceptibleThread$Parked.await(InterceptibleThread.java:154)
          at 
org.apache.cassandra.simulator.systems.InterceptibleThread.park(InterceptibleThread.java:246)
          at 
org.apache.cassandra.simulator.systems.InterceptibleThread.parkNanos(InterceptibleThread.java:517)
          at 
org.apache.cassandra.simulator.systems.InterceptingMonitors.parkNanos(InterceptingMonitors.java:871)
          at 
org.apache.cassandra.simulator.systems.InterceptorOfSystemMethods$Global.parkNanos(InterceptorOfSystemMethods.java:157)
          at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1039)
          at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1332)
          at java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:582)
          at 
org.apache.cassandra.utils.concurrent.Semaphore$Standard.tryAcquireUntil(Semaphore.java:143)
          at 
org.apache.cassandra.journal.Flusher$FlushRunnable.doRun(Flusher.java:155)
          - locked <0x12b6> (a 
org.apache.cassandra.journal.Flusher$FlushRunnable)
          at 
org.apache.cassandra.journal.Flusher$FlushRunnable.run(Flusher.java:117)
   ```
   
   Looks like we can't shutdown and deadlock due to 
`haveWork.tryAcquireUntil(1, wakeUpAt);` being in the lock?


-- 
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]


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

Reply via email to