duckdb / duckdb/duckdb-java

DuckDB adds Ducklake and Postgres. Cannot generate parquet after a while

Aperta
#423 12 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
127
Fork
80
Merge medio
13h 49m
PR unite (30g)
48

Descrizione

Using Java language

DuckDB adds Ducklake and Postgres.
I'm using Druid to manage connections in Java. Initially, I was able to write metadata to Postgres and generate Parquet files on disk, but after a while, the generation stopped. What's the cause?

·····

The technology stack is: Spring Boot + MyBatis + DruidSource + DuckDB + DuckLake + Postgres.

DruidSource is used to manage DuckDB. DuckDB connections are managed with a data connection pool.

At the beginning of the project, I could generate Parquet files using INSERT INTO statements and view the corresponding metadata in Postgres.

However, after a few hours, the corresponding metadata in Postgres could no longer be viewed, but there were no errors.

I simulated queries using two machines.

Initially, the two machines could share data for queries because the queries were performed through Postgres, and the files were written to disk, generating Parquet files.

However, after a few hours, when one machine wrote data, the Parquet files could not be generated, and the other machine could not read it. I suspect that the data was being written directly to the memory of the current machine.

What is causing this? Is the Postgres connection to DuckDB disconnected?

How can this be avoided?

····

Sample Code :
[DuckDbContextHolder.java](https://github.com/user-attachments/files/22917540/DuckDbContextHolder.java)

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia dal file DuckDbContextHolder.java allegato e traccia come vengono create, mantenute e utilizzate le connessioni Java in pool per i metadati DuckLake e le scritture Parquet. Riproduci il problema dopo che il sistema ha funzionato per diverse ore su due macchine, quindi confronta il comportamento delle connessioni e della persistenza prima e dopo che si verifica. Il lavoro è completato quando sono documentati la causa confermata e un modo basato su evidenze per evitarla.

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

Valutazione

Stack tecnologico
java, postgresql, spring-boot
Ambito
backend, databases
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.