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:
- DuckDb is being queried by a select query on a different table parallely.
- 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.