Skip to content

ReplicaDB fails to connect to DuckDB due to unrecognized driver parameter #214

@kodziro00

Description

@kodziro00

Describe the bug
ReplicaDB doest not work with DuckDB https://duckdb.org/.

To Reproduce
Steps to reproduce the behaviour:

  1. Add DuckDB jdbc jar file to class path.
  2. Set driver in options file:

source.connect.parameter.driver=org.duckdb.DuckDBDriver

When running, the following error occurs:
2025-11-15 19:48:58,425 ERROR ReplicaTask:45 ERROR in TaskId-0 getting Source connection: Invalid Input Error: The following options were not recognized: driver
2025-11-15 19:48:58,426 ERROR ReplicaDB:171 Got exception running ReplicaDB:
java.util.concurrent.ExecutionException: java.sql.SQLException: Invalid Input Error: The following options were not recognized: driver

Expected behavior
The connection should work normally without errors.

Additional context
The problem is that the parameter source.connect.parameter.driver is being used in two different ways:

  1. To determine the Java driver class.
  2. The same parameter is also passed as a connection property when creating the database connection.

DuckDB does not allow unrecognized connection parameters, so it fails when driver is passed to it.

Possible solution:

  1. Modify makeSourceConnection and makeSinkConnection in SqlManager.java to filter out the driver parameter after building the props object. Example: call props.remove("driver") after props.putAll(connectionParams).
  2. Introduce a new parameter (e.g., source.connect.driver) specifically for defining the JDBC driver class, so it does not get mixed with connection parameters.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions