CohQL snapshot names share a SimpleDateFormat across commands
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 35/100
Direzione di ricerca
Read AbstractSnapshotStatement in coherence-core, focusing on replaceDateMacros and the shared WEEKDAY_NAME and MONTH_NAME formatters; compare their use with the synchronization in DateTimeAdapter. Done means concurrent calls expand %w and %M to the correct names without formatter exceptions. Pull request #161 is already open for this issue.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
CohQL snapshot names expand %w and %M through two shared static SimpleDateFormat instances, WEEKDAY_NAME and MONTH_NAME, on AbstractSnapshotStatement. replaceDateMacros calls format on both with no lock. SimpleDateFormat is not thread-safe, so two snapshot commands at the same time can throw from inside the formatter or expand the wrong weekday or month.
To Reproduce
Call replaceDateMacros with a name that contains %w and %M from several threads at the same time.
Expected behaviour
Each call expands %w to the weekday name and %M to the month name.
Environment
- Coherence CE main,
AbstractSnapshotStatementincoherence-core - Any current Java runtime
Additional context
DateTimeAdapter already synchronizes its shared SimpleDateFormat. These two formatters are only used by replaceDateMacros, and that method should lock them the same way.
- Lingua principale
- Java
- Stelle
- 475
- Fork
- 80
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
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 oracle/coherence
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 54/100
-
URL reads have no connect or read timeoutForse già presa @SebTardif l’ha presa 3 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 25/100
-
REST date key conversion shares a SimpleDateFormat across requestsForse già presa @SebTardif l’ha presa 3 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
-
Dynamic backupsAperta25.09 enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
Allow auto scaling without making cluster vulnerableForse già presa @aseovic l’ha presa 9 giorni fa. Apertaenhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di oracle/coherence
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
bug:unconfirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
UniversalMediaServer/UniversalMediaServer#6473 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ClickHouse/clickhouse-java#3349 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
StarRocks/starrocks#83246 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno