Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

FATAL Error: Database invalidated. Failed to create checkpoint as .wal file does not exist

Aperta
#331 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
35/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
java, linux, sql
Ambito
backend, databases

Direzione di ricerca

Inizia riproducendo lo scenario di concurrent select e update/INSERT usando DuckDBConnection.duplicate con jdbc_stream_results abilitato, concentrandoti sul checkpoint failure che coinvolge duckdb.db.wal. Esamina il comportamento della Java JDBC connection in relazione alle duplicate connections e determina se la database rimane valida durante il concurrent access senza un missing-WAL-file error.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Java 21, Duckdb 1.2.2.0, OS: Linux Redhat 10

In my Java application, I am opening multiple connections from different threads to Duckdb in persistent mode. In the start of the application, I create a main connection, and now any subsequent connection is created using DuckDBConnection.duplicate.
DuckDB file is only accessed from this process.

My connection is created with property jdbc_stream_results set to true.

One of my update query failed with error:

java.sql.SQLException: FATAL Error: Failed: database has been invalidated because of a previous fatal error. The database must be restarted prior to being used again.
Original error: "Failed to create checkpoint because of error: Could not remove file "/home/ec2-user/duckdb/./duckdb.db.wal": No such file or directory"

Scenario:

  1. DuckDb is being queried by a select query on a different table parallely.
  2. Update/INSERT queries are coming. They are processed in different threads. To run a query, I create new connection (using duplicate) and run the query.

My duckdb.db file is around 160 GB.

Lingua principale
C++
Stelle
127
Fork
81
Merge medio
7h 37m
PR unite (30g)
30

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di duckdb/duckdb-java

Tutte le issue di duckdb/duckdb-java

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.