You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pr@cassandra.apache.org by "dcapwell (via GitHub)" <gi...@apache.org> on 2023/04/13 16:43:07 UTC
[GitHub] [cassandra] dcapwell commented on pull request #2256: CASSANDRA-18344 Store PreAccept, Accept, Commit, and Apply in a durable log before processing by CommandStores
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: pr-unsubscribe@cassandra.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For additional commands, e-mail: pr-help@cassandra.apache.org