[ 
https://issues.apache.org/jira/browse/FLINK-38813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tejansh Rana updated FLINK-38813:
---------------------------------
    Description: 
Enable Flink CDC connectors to emit Debezium heartbeat events to downstream 
consumers, allowing applications to monitor database connection health and 
implement custom metrics for change data capture pipelines.

*Problem Statement:*

Flink CDC connectors currently skip heartbeat events generated by Debezium, 
making it difficult for downstream applications to:
 * Monitor database connection health and liveness
 * Track replication lag in real-time
 * Implement custom metrics for data streaming pipeline health
 * Detect stalled or failed binlog reading

The Flink CDC connectors process heartbeat events internally for offset 
tracking but do not emit them to downstream consumers.

 

*Proposed Solution:*

Expose heartbeat events as optional emitted records to enable downstream 
consumers to consume these events and implement their custom solutions.

This config would be false by default to allow backward compatibility. When set 
true by users, the Record Emitter will emit the heartbeat events in addition to 
the existing behaviour of updating the offsets.

I would be happy to create a PR for this feature should we accept this 
proposal. The implementation would be similar to the feature proposed in this 
ticket - https://issues.apache.org/jira/browse/FLINK-38691. Reference PR - 
[https://github.com/apache/flink-cdc/pull/4170] 

 

Draft PR to demonstrate the proposed changes in MySQL connector; others to 
follow the same pattern - https://github.com/apache/flink-cdc/pull/4193

  was:
Enable Flink CDC connectors to emit Debezium heartbeat events to downstream 
consumers, allowing applications to monitor database connection health and 
implement custom metrics for change data capture pipelines.

*Problem Statement:*

Flink CDC connectors currently skip heartbeat events generated by Debezium, 
making it difficult for downstream applications to:
 * Monitor database connection health and liveness
 * Track replication lag in real-time
 * Implement custom metrics for data streaming pipeline health
 * Detect stalled or failed binlog reading

The Flink CDC connectors process heartbeat events internally for offset 
tracking but do not emit them to downstream consumers.

 

*Proposed Solution:*

Expose heartbeat events as optional emitted records to enable downstream 
consumers to consume these events and implement their custom solutions.

This config would be false by default to allow backward compatibility. When set 
true by users, the Record Emitter will emit the heartbeat events in addition to 
the existing behaviour of updating the offsets.

I would be happy to create a PR for this feature should we accept this 
proposal. The implementation would be similar to the feature proposed in this 
ticket - https://issues.apache.org/jira/browse/FLINK-38691. Reference PR - 
[https://github.com/apache/flink-cdc/pull/4170] 


> Enable Flink CDC connectors to emit Debezium heartbeat events to downstream 
> consumers
> -------------------------------------------------------------------------------------
>
>                 Key: FLINK-38813
>                 URL: https://issues.apache.org/jira/browse/FLINK-38813
>             Project: Flink
>          Issue Type: New Feature
>          Components: Flink CDC
>            Reporter: Tejansh Rana
>            Priority: Major
>              Labels: pull-request-available
>
> Enable Flink CDC connectors to emit Debezium heartbeat events to downstream 
> consumers, allowing applications to monitor database connection health and 
> implement custom metrics for change data capture pipelines.
> *Problem Statement:*
> Flink CDC connectors currently skip heartbeat events generated by Debezium, 
> making it difficult for downstream applications to:
>  * Monitor database connection health and liveness
>  * Track replication lag in real-time
>  * Implement custom metrics for data streaming pipeline health
>  * Detect stalled or failed binlog reading
> The Flink CDC connectors process heartbeat events internally for offset 
> tracking but do not emit them to downstream consumers.
>  
> *Proposed Solution:*
> Expose heartbeat events as optional emitted records to enable downstream 
> consumers to consume these events and implement their custom solutions.
> This config would be false by default to allow backward compatibility. When 
> set true by users, the Record Emitter will emit the heartbeat events in 
> addition to the existing behaviour of updating the offsets.
> I would be happy to create a PR for this feature should we accept this 
> proposal. The implementation would be similar to the feature proposed in this 
> ticket - https://issues.apache.org/jira/browse/FLINK-38691. Reference PR - 
> [https://github.com/apache/flink-cdc/pull/4170] 
>  
> Draft PR to demonstrate the proposed changes in MySQL connector; others to 
> follow the same pattern - https://github.com/apache/flink-cdc/pull/4193



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to