kestra-io / kestra-io/plugin-debezium

RealtimeTrigger has no backoff/retry-limit on repeated connection failures, leading to worker thread exhaustion and instance crash

Open
#211 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/plugin good first issue
Dominant language
Java
Stars
6
Forks
12
Avg merge
2d 5h
Merged PRs (30d)
9

Description

Describe the issue

RealtimeTrigger (io.kestra.plugin.debezium.oracle) has no backoff or retry limit when the underlying Debezium connector repeatedly fails to establish a connection. Each failed attempt immediately spawns a new worker thread to retry — roughly once per second, with no delay and no cap on concurrent workers. This leads to unbounded resource consumption and eventual instance crash.

To Reproduce

  1. Configure a RealtimeTrigger (io.kestra.plugin.debezium.oracle) with
    connection parameters that reliably fail (e.g. invalid driver
    registration, unreachable host, or invalid credentials)
  2. Enable the trigger
  3. Observe worker thread creation in the Kestra logs:
    docker compose logs kestra | grep AsyncEmbeddedEngine

Expected behavior
Reconnection attempts should back off (e.g. exponentially) and/or be capped at a maximum retry count, to avoid unbounded resource consumption when the underlying connection issue is persistent.

Environment

Environment

Kestra Core: v1.3.30
Plugin: plugin-debezium-oracle 1.4.8
Deployment: Docker (docker-compose), standalone mode

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at RealtimeTrigger (io.kestra.plugin.debezium.oracle) and inspect the AsyncEmbeddedEngine retry path. Reproduce the failure with invalid connection parameters and monitor docker compose logs kestra | grep AsyncEmbeddedEngine. Done means repeated connection failures no longer cause unbounded worker-thread growth, with the retry behavior verified under persistent failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker-compose, java
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.