Add option to actually skip WAIT command for locks (checkLockSyncedSlaves only suppresses the exception, not the WAIT call)
I maintainer di solito rispondono entro 2 giorni
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- java, redis
- Ambito
- backend, distributed-systems
Direzione di ricerca
Start by tracing checkLockSyncedSlaves and evalWriteAsync through the lock implementation to locate where the WAIT command and replica-sync result are handled. Define how the new option should interact with the existing flag, then verify that disabled replica synchronization sends no WAIT call while the current behavior remains unchanged when enabled.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Is your feature request related to a problem? Please describe.
Setting checkLockSyncedSlaves(false) does not skip the WAIT command / replica sync check itself — Redisson still sends WAIT and waits for the replicas to acknowledge as part of evalWriteAsync. The flag only controls whether an exception ("Only X of Y slaves were synced") is thrown afterward based on the result. This means the latency cost of WAIT is still incurred even when this option is disabled.
In our case, the database layer already has its own mechanism to detect and reject conflicting writes, so we don't need Redisson's replica-sync guarantee for locks, and the extra WAIT round-trip only adds unnecessary latency.
Describe the solution you'd like
Add a configuration option that actually skips sending the WAIT command / replica-sync check entirely (not just suppressing the resulting exception), so users who don't need this guarantee can avoid the added latency altogether.
Describe alternatives you've considered
checkLockSyncedSlaves(false)— does not help, since the WAIT call and wait time still happen; it only avoids throwing on the result.
- Lingua principale
- Java
- Stelle
- 24.4k
- Fork
- 5.5k
- Merge medio
- 2g 18h
- PR unite (30g)
- 12
Preparare l'ambiente
- 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 redisson/redisson
-
RReliableTopic subscriber stops consuming permanently after one failed watchdog renewal or status update (no retry; then "ERR Invalid stream ID")Forse già presa @ronitgupta138 l’ha presa 1 giorno fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
I maintainer di solito rispondono entro 2 giorni
-
Sharded topic / RLocalCachedMap listeners are lost after cluster slot migration (reattachPubSub uses wrong codec)Forse già presa @ElliotXue-crypto l’ha presa 2 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 28/100
I maintainer di solito rispondono entro 2 giorni
-
Retries can reuse the timed-out connection since the LIFO pool changeForse già presa @ohksj77 l’ha presa 9 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
I maintainer di solito rispondono entro 2 giorni
-
Replicated servers mode resends the RLock acquire script after a response timeout; one tryLock ends with hold count 2 and the lock is never releasedForse già presa @kalayciburak l’ha presa 25 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 72/100
I maintainer di solito rispondono entro 2 giorni
-
Watchdog renewal can outlive unlock(): cancelLockRenewal races the acquire's async scheduleExpirationRenewalForse già presa @arimu1 l’ha presa 77 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
redisson/redisson#7272 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di redisson/redisson
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
apache/rocketmq-dashboard#6896 ·
I maintainer di solito rispondono entro 3 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
OpenIntegrationEngine/engine#496 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
SasanLabs/VulnerableApp#836 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement frontend
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
Albertinesilva/backend-engineering-journey-java-springboot#46 ·