influxdata / influxdata/influxdb-client-java

Timer task is disposed due to `restartTimerOnMaxSize` leading to data loss

Offen
#806 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Java
Sterne
477
Forks
129
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

__Steps to reproduce:__
1. Submit data fast enough,
2. If timer is running while buffer is full ,timer task will be disposed.

We can see it in :
https://github.com/influxdata/influxdb-client-java/blob/d641b1163986f90dbcc2d1275fceff698636882d/client/src/main/java/com/influxdb/client/internal/flowable/FlowableBufferTimedFlushable.java#L156-L196

This bug will lead to #793. I think setting `restartTimerOnMaxSize` to false will be a good choice. Or we can add a flag when task is running and do not dispose the timer task.

__Specifications:__
- Client Version: 6.7.0
- InfluxDB Version: 2.6.1
- JDK Version: 11
- Platform: linux

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit client/src/main/java/com/influxdb/client/internal/flowable/FlowableBufferTimedFlushable.java an den referenzierten Zeilen und reproduzieren Sie dann den Fall, indem Sie schnell Daten übermitteln, während der Puffer voll ist. Bestätigen Sie, dass die Timer-Aufgabe während eines aktiven Flush-Vorgangs nicht verworfen wird und dass das daraus resultierende Verhalten nicht mehr zu Datenverlust oder Issue #793 führt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
backend
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
40/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.