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]