Serialization Error: Failed to deserialize: expected end of object, but found field id: 103
- Vorherrschende Sprache
- C++
- Sterne
- 127
- Forks
- 80
- Ø Merge
- 13 Std. 49 Min.
- Gemergte PRs (30 T.)
- 48
Beschreibung
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.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginnen Sie mit dem Verbindungspfad, der in org.duckdb.DuckDBConnection.newConnection und DuckDBDriver.connect gezeigt wird, und vergleichen Sie dann die im Issue gemeldeten Treiberversionen von DuckDB und DBeaver. Reproduzieren Sie den Fehler mit der größeren dateibasierten Datenbank und überprüfen Sie, ob ein kompatibler Treiber erfolgreich eine Verbindung herstellen kann, ohne dass der Deserialisierungsfehler auftritt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- databases
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100