Skip to content

Comments

Extend the allowed Debezium properties#31

Draft
gayaldassanayake wants to merge 29 commits intoballerina-platform:mainfrom
gayaldassanayake:all-fields
Draft

Extend the allowed Debezium properties#31
gayaldassanayake wants to merge 29 commits intoballerina-platform:mainfrom
gayaldassanayake:all-fields

Conversation

@gayaldassanayake
Copy link
Contributor

Purpose

This pull request introduces utility support for extracting additional configuration keys and improves the structure and clarity of configuration handling for connectors.

Configuration separation and refactoring:

  • The externStart function and its Java counterpart now accept two separate maps: one for Debezium-specific configs and another for listener-specific configs, instead of a single combined map. This clarifies the distinction between the two types of properties and enables more precise handling in both Ballerina and Java code. [1] [2] [3]
  • The mock listener and MySQL configuration logic in mock_listener.bal have been refactored to separately track and initialize debeziumConfigs and listenerConfigs, and to use new helper functions for populating these maps. [1] [2] [3] [4] [5]

New utility for configuration keys:

  • Introduced a new Java utility class Utils with a static method getAdditionalConfigKeys, which returns configuration keys present in an options map but not defined in a typedesc (record type). This is exposed to Ballerina via a new external function. [1] [2]

Other improvements:

  • The logic for populating engine properties in the Java listener now avoids filtering out the liveness interval key, since this is now handled in the separate listener configs map.
  • The MySQL options and listener configuration types in Ballerina have been clarified and extended to better reflect actual usage and extensibility.

Build tooling:

  • Updated the Ballerina Gradle plugin version from 2.3.0 to 2.3.1 for build improvements.

Fixes: ballerina-platform/ballerina-library#8572

Examples

Checklist

  • Linked to an issue
  • Updated the specification
  • Updated the changelog
  • Added tests
  • Checked native-image compatibility

@coderabbitai
Copy link

coderabbitai bot commented Feb 23, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link

codecov bot commented Feb 23, 2026

Codecov Report

❌ Patch coverage is 73.38129% with 111 lines in your changes missing coverage. Please review.
✅ Project coverage is 75.30%. Comparing base (ef59b70) to head (e0484ce).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
ballerina/utils.bal 73.08% 109 Missing ⚠️
...e/src/main/java/io/ballerina/lib/cdc/Listener.java 66.66% 0 Missing and 1 partial ⚠️
...rc/main/java/io/ballerina/lib/cdc/utils/Utils.java 83.33% 1 Missing ⚠️

❌ Your project check has failed because the head coverage (75.30%) is below the target coverage (80.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files
@@             Coverage Diff              @@
##               main      #31      +/-   ##
============================================
- Coverage     76.56%   75.30%   -1.27%     
- Complexity      224      226       +2     
============================================
  Files            30       31       +1     
  Lines          1084     1466     +382     
  Branches        170      258      +88     
============================================
+ Hits            830     1104     +274     
- Misses          176      284     +108     
  Partials         78       78              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow passing additional params to CDC

1 participant