influxdata / influxdata/influxdb-java
influxdb-java drops data when using OneShotBatchWriter if any error is encountered
- Lingua principale
- Java
- Stelle
- 1.2k
- Fork
- 469
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
I understand that OneShotBatchWriter gets one shot to write its points to influxdb, but I found when importing historical data through influxdb-java, that the OneShotBatchWriter stops processing its list of BatchPoints as soon as an error happens.
Example:
```
@Test
public void test()
{
// Use OneShotBatchWriter
db.enableBatch(5_000, 1, TimeUnit.SECONDS);
// CPU might make it to influx, or might not depending on the order that OneShotBatchWriter writes them in
db.write(databaseName,
"one_day",
Point.measurement("cpu")
.time(System.currentTimeMillis(), TimeUnit.MILLISECONDS)
.addField("cpu", 1)
.build());
// Memory dropped by influxdb
db.write(databaseName,
"one_week",
Point.measurement("memory")
.time(0, TimeUnit.MILLISECONDS)
.addField("memory", 1)
.build());
db.disableBatch();
}
```
The memory point is dropped by influxdb which results in an error back to influxdb-java, which promptly gives up on the cpu point. I like how simple OneShotBatchWriter is and don't need to retry points like RetryCapableBatchWriter, but could OneShotBatchWriter at least try all points?
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia dal punto di ingresso di OneShotBatchWriter e riproduci lo scenario di test fornito con i due BatchPoints, includendo un punto che InfluxDB rifiuta. Traccia il modo in cui l’errore influisce sui punti successivi e aggiungi una copertura che dimostri che tutti i punti vengono tentati; il lavoro è completato quando il punto CPU valido non viene scartato se il punto della memoria fallisce.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- backend-api-design
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100