Create a new session on closing of another can create deadlock
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
Direzione di ricerca
Inizia tracciando la creazione delle sessioni e il comportamento di attesa attraverso tech.ydb.table.impl.pool.SessionPool, WaitingQueue, BaseSession e tech.ydb.core.impl.pool.GrpcChannel, usando lo stack trace fornito come punto di ingresso. Riproduci o isola il caso in cui la creazione di una sessione mentre un’altra viene chiusa causa un deadlock, quindi verifica che le operazioni del pool di sessioni vengano completate senza bloccarsi a vicenda.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
"grpc-default-worker-ELG-1-1" #57 daemon prio=5 os_prio=0 cpu=25024.63ms elapsed=2828.70s tid=0x00007fc0e6a9d010 nid=0x533f waiting on condition [0x00007fc0e69f8000]
java.lang.Thread.State: TIMED_WAITING (parking)
at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
- parking to wait for <0x00000000c36ea3d0> (a java.util.concurrent.CompletableFuture$Signaller)
at java.util.concurrent.locks.LockSupport.parkNanos([email protected]/LockSupport.java:252)
at java.util.concurrent.CompletableFuture$Signaller.block([email protected]/CompletableFuture.java:1866)
at java.util.concurrent.ForkJoinPool.unmanagedBlock([email protected]/ForkJoinPool.java:3463)
at java.util.concurrent.ForkJoinPool.managedBlock([email protected]/ForkJoinPool.java:3434)
at java.util.concurrent.CompletableFuture.timedGet([email protected]/CompletableFuture.java:1939)
at java.util.concurrent.CompletableFuture.get([email protected]/CompletableFuture.java:2095)
at tech.ydb.core.impl.pool.GrpcChannel$ReadyWatcher.getReadyChannel(GrpcChannel.java:80)
at tech.ydb.core.impl.pool.GrpcChannel.getReadyChannel(GrpcChannel.java:46)
at tech.ydb.core.impl.BaseGrpcTransport.unaryCall(BaseGrpcTransport.java:84)
at tech.ydb.table.rpc.grpc.GrpcTableRpc.createSession(GrpcTableRpc.java:50)
at tech.ydb.table.impl.BaseSession.createSessionId(BaseSession.java:174)
at tech.ydb.table.impl.pool.SessionPool$Handler.create(SessionPool.java:183)
at tech.ydb.table.impl.pool.WaitingQueue.tryToCreateNewPending(WaitingQueue.java:226)
at tech.ydb.table.impl.pool.WaitingQueue.checkNextWaitingAcquire(WaitingQueue.java:276)
at tech.ydb.table.impl.pool.WaitingQueue.lambda$checkNextWaitingAcquire$0(WaitingQueue.java:279)
at tech.ydb.table.impl.pool.WaitingQueue$$Lambda$2581/0x00000008013e9000.accept(Unknown Source)
at java.util.concurrent.CompletableFuture.uniWhenComplete([email protected]/CompletableFuture.java:863)
at java.util.concurrent.CompletableFuture.uniWhenCompleteStage([email protected]/CompletableFuture.java:887)
at java.util.concurrent.CompletableFuture.whenComplete([email protected]/CompletableFuture.java:2325)
at tech.ydb.table.impl.pool.WaitingQueue.checkNextWaitingAcquire(WaitingQueue.java:277)
at tech.ydb.table.impl.pool.WaitingQueue.lambda$checkNextWaitingAcquire$0(WaitingQueue.java:279)
at tech.ydb.table.impl.pool.WaitingQueue$$Lambda$2581/0x00000008013e9000.accept(Unknown Source)
- Lingua principale
- Java
- Stelle
- 53
- Fork
- 41
- Merge medio
- 1g 13h
- PR unite (30g)
- 19
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ydb-platform/ydb-java-sdk
-
Java SDK: `describeTable()` не возвращает JSON-индексыForse già presa @vgvoleg l’ha presa 2 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
ydb-platform/ydb-java-sdk#756 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement feature-parity
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
ydb-platform/ydb-java-sdk#651 ·
I maintainer di solito rispondono entro 1 giorno
-
bug: "Sent message larger than max" error is retryableForse già presa @mnnekrashevich l’ha presa 37 giorni fa. Apertaai_reviewed
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
ydb-platform/ydb-java-sdk#621 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Batching writes to topicAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
ydb-platform/ydb-java-sdk#573 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
ydb-platform/ydb-java-sdk#553 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di ydb-platform/ydb-java-sdk
Issue simili
-
status: team-only type: dependency-upgrade
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
spring-projects/spring-boot#52143 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area/frontend good first issue kind/cooldown
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
kestra-io/kestra#20704 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno