duckdb / duckdb/duckdb-java

Serialization Error: Failed to deserialize: expected end of object, but found field id: 103

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

Descrizione

I am using duckdb version 0.10.2, and using DBeaver 24.1.0 with org.jkiss.dbeaver.ext.duckdb_1.0.24.202406021658.jar.

DBeaver could connected to `:memory:` and a file-backed duckdb database with an empty table, which are created using duckdb 0.10.2.

The connection test from within DBeaver shows:

```
Server: DuckDB v0.9.1
Driver: DuckDBJ 1.0
```

I did the same connection testing to larger duckdb (30 MB). It gave me this error:

```
eclipse.buildId=unknown
java.version=17.0.6
java.vendor=Eclipse Adoptium
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_SG
Framework arguments: -eclipse.keyring C:\Users\\AppData\Roaming\DBeaverData\secure\secure_storage
Command-line arguments: -os win32 -ws win32 -arch x86_64

org.jkiss.dbeaver.model
Error
Sun Jun 09 09:34:43 SGT 2024
Serialization Error: Failed to deserialize: expected end of object, but found field id: 103

java.sql.SQLException: Serialization Error: Failed to deserialize: expected end of object, but found field id: 103
at org.duckdb.DuckDBNative.duckdb_jdbc_startup(Native Method)
at org.duckdb.DuckDBConnection.newConnection(DuckDBConnection.java:48)
at org.duckdb.DuckDBDriver.connect(DuckDBDriver.java:38)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCConnectionOpener.run(JDBCConnectionOpener.java:109)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCConnectionOpener.run(JDBCConnectionOpener.java:83)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.openConnection(JDBCDataSource.java:221)
at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.openConnection(GenericDataSource.java:159)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCExecutionContext.connect(JDBCExecutionContext.java:106)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.initializeMainContext(JDBCRemoteInstance.java:102)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.(JDBCRemoteInstance.java:61)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.initializeRemoteInstance(JDBCDataSource.java:119)
at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.(GenericDataSource.java:124)
at org.jkiss.dbeaver.ext.duckdb.model.DuckDBDataSource.(DuckDBDataSource.java:38)
at org.jkiss.dbeaver.ext.duckdb.model.DuckMetaModel.createDataSourceImpl(DuckMetaModel.java:155)
at org.jkiss.dbeaver.ext.generic.GenericDataSourceProvider.openDataSource(GenericDataSourceProvider.java:106)
at org.jkiss.dbeaver.registry.DataSourceDescriptor.openDataSource(DataSourceDescriptor.java:1381)
at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect0(DataSourceDescriptor.java:1245)
at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect(DataSourceDescriptor.java:1035)
at org.jkiss.dbeaver.runtime.jobs.ConnectJob.run(ConnectJob.java:78)
at org.jkiss.dbeaver.runtime.jobs.ConnectionTestJob.run(ConnectionTestJob.java:103)
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:117)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
```

I have raised a similar issue in https://github.com/dbeaver/dbeaver/issues/21353

*Update 1:*

I have updated duckdb python client to 1.0.0 and duckdb.exe to 1.0.0 too. The issue persists even if I have re-created a new database file.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia dal percorso di connessione mostrato in org.duckdb.DuckDBConnection.newConnection e DuckDBDriver.connect, quindi confronta le versioni dei driver DuckDB e DBeaver riportate nell'issue. Riproduci il problema con il database più grande basato su file e verifica se un driver compatibile riesce a connettersi correttamente senza l'errore di deserializzazione.

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

Valutazione

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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.