debezium / debezium/dbz

Migrate connectors from deprecated `dispatchHeartbeatEvent` to `alwaysDispatchHeartbeatEvent`

Open
#2,209 4 comments 0 reactions 1 assignee Claimed by @tuanwannafly View on GitHub
component/core-library type/task
Dominant language
HTML
Stars
6
Forks
8
Avg merge
2d 19h
Merged PRs (30d)
1

Description

The `dispatchHeartbeatEvent()` method in EventDispatcher was marked `@Deprecated` as part of DBZ-9176 (`ScheduledHeartbeat` introduction). The replacement, `alwaysDispatchHeartbeatEvent()`, has been available since that change.

However, all 18 call sites across 6 connectors still use the deprecated method.

Affected files:
- debezium-connector-binlog (`BinlogStreamingChangeEventSource`)
- debezium-connector-mongodb (`MongoDbStreamingChangeEventSource`)
- debezium-connector-oracle (`BufferedLogMinerStreamingChangeEventSource`, `XstreamStreamingChangeEventSource`)
- debezium-connector-postgres (`PostgresStreamingChangeEventSource`)
- debezium-connector-sqlserver (`SqlServerStreamingChangeEventSource`)
- debezium-connector-common (`EventDispatcher` itself, 2 internal calls)

Scope:
1. Replace `dispatchHeartbeatEvent()` → `alwaysDispatchHeartbeatEvent()` at all call sites
2. Remove the `@Deprecated` method from `EventDispatcher`
3. No behavioral change — `ScheduledHeartbeat` already manages emit timing internally

> **Note:** The deprecated `dispatchHeartbeatEvent()` calls `heartbeat.emitWithDelay()`, which may also be unused after this change.
**Scope question for the reviewer:** should `emitWithDelay()` be removed from `Heartbeat`/`CompositeHeartbeat` too, or leave it for a follow-up?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.