FATAL Error: Database invalidated. Failed to create checkpoint as .wal file does not exist
- Ngôn ngữ chính
- C++
- Star
- 127
- Fork
- 80
- Merge trung bình
- 13 giờ 49 phút
- Pull request đã merge (30 ngày)
- 48
Mô tả
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.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện kịch bản concurrent select và update/INSERT bằng DuckDBConnection.duplicate với jdbc_stream_results được bật, tập trung vào checkpoint failure liên quan đến duckdb.db.wal. Kiểm tra hành vi của Java JDBC connection đối với duplicate connections và xác định liệu database có vẫn hợp lệ trong quá trình concurrent access mà không xảy ra missing-WAL-file error hay không.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java, linux, sql
- Lĩnh vực
- backend, databases
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100