diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt index 2cd90296b..6e0049176 100644 --- a/COPYRIGHT.txt +++ b/COPYRIGHT.txt @@ -55,6 +55,7 @@ Aykut Farsak Babur Duisenov Balázs Németh Balázs Sipos +Balint Bene Barry LaFond Bartosz Miedlar Ben Hardesty diff --git a/debezium-core/src/main/java/io/debezium/pipeline/notification/IncrementalSnapshotNotificationService.java b/debezium-core/src/main/java/io/debezium/pipeline/notification/IncrementalSnapshotNotificationService.java index bb8dbae80..c5e84a842 100644 --- a/debezium-core/src/main/java/io/debezium/pipeline/notification/IncrementalSnapshotNotificationService.java +++ b/debezium-core/src/main/java/io/debezium/pipeline/notification/IncrementalSnapshotNotificationService.java @@ -23,6 +23,7 @@ public class IncrementalSnapshotNotificationService

void notifyAborted(IncrementalSnapshotContex public void notifyTableScanCompleted(IncrementalSnapshotContext incrementalSnapshotContext, P partition, OffsetContext offsetContext, long totalRowsScanned, TableScanCompletionStatus status) { + String scannedCollection = incrementalSnapshotContext.currentDataCollectionId().getId().identifier(); String dataCollections = incrementalSnapshotContext.getDataCollections().stream().map(DataCollection::getId) .map(DataCollectionId::identifier) .collect(Collectors.joining(LIST_DELIMITER)); @@ -106,6 +108,7 @@ public void notifyTableScanCompleted(IncrementalSna notificationService.notify(buildNotificationWith(incrementalSnapshotContext, SnapshotStatus.TABLE_SCAN_COMPLETED, Map.of( DATA_COLLECTIONS, dataCollections, + SCANNED_COLLECTION, scannedCollection, TOTAL_ROWS_SCANNED, String.valueOf(totalRowsScanned), STATUS, status.name()), offsetContext), diff --git a/debezium-core/src/test/java/io/debezium/pipeline/notification/IncrementalSnapshotNotificationServiceTest.java b/debezium-core/src/test/java/io/debezium/pipeline/notification/IncrementalSnapshotNotificationServiceTest.java index 5de0a3b4e..2fd6b9e02 100644 --- a/debezium-core/src/test/java/io/debezium/pipeline/notification/IncrementalSnapshotNotificationServiceTest.java +++ b/debezium-core/src/test/java/io/debezium/pipeline/notification/IncrementalSnapshotNotificationServiceTest.java @@ -126,6 +126,7 @@ public void notifyTableScanCompleted() { Notification expectedNotification = new Notification("12345", "Incremental Snapshot", "TABLE_SCAN_COMPLETED", Map.of( "connector_name", "connector-test", "data_collections", "db.inventory.product,db.inventory.customer", + "scanned_collection", "db.inventory.product", "total_rows_scanned", "100", "status", "SUCCEEDED")); diff --git a/documentation/modules/ROOT/pages/configuration/notification.adoc b/documentation/modules/ROOT/pages/configuration/notification.adoc index eefe60a42..b3046455f 100644 --- a/documentation/modules/ROOT/pages/configuration/notification.adoc +++ b/documentation/modules/ROOT/pages/configuration/notification.adoc @@ -157,7 +157,8 @@ a|[source, json] "type":"TABLE_SCAN_COMPLETED", "additional_data":{ "connector_name":"my-connector", - "data_collection":"table1", + "data_collection":"table1, table2", + "scanned_collection":"table1", "total_rows_scanned":"100", "status":"SUCCEEDED" // <1> } @@ -225,7 +226,7 @@ To enable an application to listen for the JMX notifications that an MBean emits [id="debezium-notification-custom-channel"] == Custom notification channels -The notification mechanism is designed to be extensible. +The notification mechanism is designed to be extensible. You can implement channels as needed to deliver notifications in a manner that works best in your environment. Adding a notification channel involves several steps: @@ -257,9 +258,9 @@ public interface NotificationChannel { <1> The name of the channel. To enable {prodname} to use the channel, specify this name in the connector's `notification.enabled.channels` property. <2> Initializes specific configuration, variables, or connections that the channel requires. -<3> Sends the notification on the channel. +<3> Sends the notification on the channel. {prodname} calls this method to report its status. -<4> Closes all allocated resources. +<4> Closes all allocated resources. {prodname} calls this method when the connector is stopped. // Type: concept @@ -300,5 +301,5 @@ NOTE: To use a custom notification channel with multiple connectors, you must pl [id="configuring-connectors-to-use-a-custom-notification-channel"] === Configuring connectors to use a custom notification channel -Add the name of the custom notification channel to the `notification.enabled.channels` configuration property. +Add the name of the custom notification channel to the `notification.enabled.channels` configuration property. diff --git a/jenkins-jobs/scripts/config/Aliases.txt b/jenkins-jobs/scripts/config/Aliases.txt index 3d564918e..2eaad39ee 100644 --- a/jenkins-jobs/scripts/config/Aliases.txt +++ b/jenkins-jobs/scripts/config/Aliases.txt @@ -213,4 +213,5 @@ gongchanghua,Gong Chang Hua angsdey2,Angshuman Dey jehrenzweig-pi,Jesse Ehrenzweig TechIsCool,David Beck -cjmencias,Christian Jacob Mencias \ No newline at end of file +cjmencias,Christian Jacob Mencias +bdbene,Balint Bene