Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-9310

Introduce timeout for ALTER/CREATE Publication statment

XMLWordPrintable

      In order to make your issue reports as actionable as possible, please provide the following information, depending on the issue type.

      Feature request or enhancement

      Introduce timeouts for publication updation statements 

      Which use case/requirement will be addressed by the proposed feature?

      In the Postgres connector, the command to update the publication can hang if there is ongoing maintenance on the database during connector startup.

      When long-running transactions occur—often due to database maintenance—the connector gets stuck while attempting to update the publication. This results in a poor user experience, as the connector does not proceed with startup or fail gracefully; instead, it remains indefinitely blocked on this operation.

      This change introduces a timeout for the publication update/create command during startup. If the command exceeds the configured timeout, the connector will fail fast and surface the error to the user, rather than hanging indefinitely. This improves responsiveness and makes it easier for users to detect and resolve startup issues.

      Implementation ideas (optional)

      There is already an existing configuration parameter, create.slot.command.timeout, which controls the timeout for slot creation. I'm considering using the same configuration for publication command timeouts as well somehow or maybe introducing a new one. Open to hearing other thoughts or suggestions on this approach.

      https://github.com/debezium/debezium/blob/main/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/connection/PostgresReplicationConnection.java#L645

              Unassigned Unassigned
              skalla Shubham Kalla (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: