onceMisery opened a new pull request, #10605:
URL: https://github.com/apache/seatunnel/pull/10605

   ### Purpose of this pull request
   
   This PR completes Pulsar source support for 
[#10425](https://github.com/apache/seatunnel/issues/10425) and fixes related 
compatibility issues.
   
   Main updates:
   1. Support multi-table source config (`tables_configs`) with unified 
single-table/multi-table runtime path.
   2. Make overlapping `topic-pattern` routing deterministic by 
`tables_configs` order (first match wins).
   3. Preserve single-table compatibility and fix Canal pipeline regression 
(avoid unintended `tableId` override in single-table reader path).
   4. Refactor `PulsarSource` config/build logic for better maintainability.
   5. Update Pulsar source docs in both EN/ZH.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes.
   
   - New capability: Pulsar source supports multi-table configuration 
(`tables_configs`).
   - Behavior clarification: overlapping `topic-pattern` in multi-table mode is 
resolved deterministically by declaration order.
   - Compatibility fix: single-table Canal -> Pulsar -> JDBC path is restored 
(no silent data loss caused by `tableId` override).
   - Docs updated:
     - `docs/en/connectors/source/Pulsar.md`
     - `docs/zh/connectors/source/Pulsar.md`
   
   ### How was this patch tested?
   
   - `./mvnw -pl seatunnel-connectors-v2/connector-pulsar -am spotless:apply`
   - `./mvnw -pl seatunnel-connectors-v2/connector-pulsar -am -DskipTests 
verify`
   
   Added/updated tests:
   - `PulsarSourceTest`
   - `PulsarMultiTableConfigTest`
   - `MultiTablePartitionDiscovererTest`
   - `PulsarSourceReaderRestoreTest`
   
   Note: local surefire test runtime may hit existing shaded classpath 
`NoClassDefFoundError` issues unrelated to this patch.
   
   ### Check list
   
   * [x] If any new Jar binary package adding in your PR, please add License 
Notice according
     [New License 
Guide](https://github.com/apache/seatunnel/blob/dev/docs/en/contribution/new-license.md)
 (N/A)
   * [x] If necessary, please update the documentation to describe the new 
feature. https://github.com/apache/seatunnel/tree/dev/docs
   * [x] If necessary, please update `incompatible-changes.md` to describe the 
incompatibility caused by this PR. (N/A)
   * [x] If you are contributing the connector code, please check that the 
following files are updated:
     1. Update 
[plugin-mapping.properties](https://github.com/apache/seatunnel/blob/dev/plugin-mapping.properties)
 (N/A)
     2. Update 
[seatunnel-dist/pom.xml](https://github.com/apache/seatunnel/blob/dev/seatunnel-dist/pom.xml)
 (N/A)
     3. Add ci label in 
[label-scope-conf](https://github.com/apache/seatunnel/blob/dev/.github/workflows/labeler/label-scope-conf.yml)
 (N/A)
     4. Add e2e testcase in 
[seatunnel-e2e](https://github.com/apache/seatunnel/tree/dev/seatunnel-e2e/seatunnel-connector-v2-e2e/)
 (covered by existing Pulsar E2E)
     5. Update 
[plugin_config](https://github.com/apache/seatunnel/blob/dev/config/plugin_config)
 (N/A)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to