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

   ### Purpose of this pull request
   
   Closes #12166.
   
   Implement the existing source connectivity dry-run SPI for Kafka. Kafka 
sources are currently reported as unsupported by `--dry-run connect`, so 
invalid credentials or missing explicit topics are not checked before job 
submission.
   
   Reuse the runtime configuration path for output schemas and use Kafka 
AdminClient topic metadata for connectivity checks. No engine, API, reader or 
enumerator changes are required.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. Kafka sources can opt into connectivity validation, including literal 
topics, patterns, both multi-table option names, configured security settings 
and runtime output schemas.
   
   Metadata requests share a budget of at most 30 seconds, honoring smaller 
valid timeout settings. Client setup can take additional time. Normal execution 
is unchanged; validation does not consume or produce records, access consumer 
offsets, create groups or create topics.
   
   Success proves metadata access, not consumer/group permissions or actual 
message deserialization. An unmatched pattern remains valid for future topics. 
Kafka sinks remain unsupported.
   
   ### How was this patch tested?
   
   - Reproduced the missing factory SPI support against unchanged production 
code on Java 8 and Java 11.
   - Complete Kafka connector suite: 98 tests passed on each Java version, 
including actual factory discovery, schema parity, timeout validation, 
interruption and cleanup.
   - Authenticated Kafka 7.0.9 integration: 3 tests passed on each Java 
version. Covered successful literal/pattern checks, invalid credentials, 
missing topics and unchanged topic/group/record-offset probes.
   - Scoped Spotless checks and `git diff --check` passed.
   - Full-repository `./mvnw -q -DskipTests verify` passed on Java 11. This 
verifies compilation and packaging, not execution of the full test suite.
   - SeaTunnel's test-naming and Markdown checks passed: 5 tests on Java 11.
   
   The broker tests exercise the factory contract directly; they do not submit 
a Zeta job. They use the existing Kafka E2E module and dependencies.
   
   Rerun with the project's prerequisites built and Docker available:
   
   ```bash
   mvn -pl seatunnel-connectors-v2/connector-kafka test
   mvn -pl seatunnel-e2e/seatunnel-connector-v2-e2e/connector-kafka-e2e \
     -DskipUT -DskipIT=false -Dit.test=KafkaConnectDryRunIT verify
   ```
   
   The local Docker 29 run also needed the invocation-only `-Dapi.version=1.44` 
override for the existing Testcontainers version. No Docker compatibility 
workaround is committed.
   
   ### Check list
   
   * [x] No new Jar binary package or dependency is added.
   * [x] English and Chinese connector documentation and dry-run support 
matrices updated.
   * [x] No incompatible API or normal-runtime configuration change is 
introduced.
   * [x] Regression and broker integration tests added. This is an existing 
connector; registration, distribution and CI-label mappings are unchanged.
   


-- 
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