goutamadwant opened a new pull request, #12430:
URL: https://github.com/apache/seatunnel/pull/12430
### Purpose of this pull request
Relates to #10681. Add Cassandra source support for the existing Layer 1
`--dry-run connect` path through `SupportSourceDryRunValidation`.
Prepare configured SELECT statements and infer projected schemas from
prepared result metadata without executing the application query or
constructing a source reader. Share the runtime schema conversion, bound driver
operations, close resources, and avoid exposing CQL/server causes in connector
failure messages.
Depends on #12429 and remains draft until that prerequisite is merged. The
comparison against `dev` currently includes the bootstrap commit; the
dry-run-only change is commit `265e6675b76d4fd9f8c52305f8e68294d058406e`. No
changes are made to `DryRunConnectValidator`, shared SPI interfaces, CLI level
names or failure semantics. Redis support and later dry-run layers are outside
this PR.
### Does this PR introduce _any_ user-facing change?
Yes. Cassandra source changes from unsupported/skipped connectivity
validation to scoped connection and prepared-schema validation. Normal data-job
execution is unchanged. English and Chinese connector and CLI capability
documentation is updated.
The dry-run accepts CQL beginning with SELECT, optionally preceded by
whitespace. It rejects leading comments, non-SELECT statements, unbound
parameters, empty result metadata and duplicate output identifiers. These
restrictions apply to dry-run only.
The driver may read system metadata and populate its prepared-statement
cache. Success does not prove SELECT permissions, later query execution,
consistency-level availability or sink compatibility. Timeouts are per
operation, not a single total deadline. No new configuration option, default,
dependency or public SPI is introduced.
### How was this patch tested?
- Java 8 and Java 11: 32 connector unit tests and 8 live integration cases
pass on the stacked branch, including the bootstrap prerequisite's tests.
- Cassandra 4.1.1 coverage includes projected-schema parity,
aliases/functions, empty results, multiple tables, missing tables/keyspaces,
authenticated success and wrong-password failure.
- Unit tests assert preparation without application-query execution. A live
request observer first verifies an ordinary SELECT is observable, then sees no
successful executed-CQL callbacks during dry-run; PREPARE is not exposed by
that observer, so this is not a wire trace or a claim of zero system-metadata
access.
- Packaged CLI success/failure tests pass. The CLI engine uses its Java 8
container; direct factory integration runs in the selected Java 8/11 harness.
- Owned local no-response endpoint probes fail safely on both JDKs.
Pre-interrupted calls, cleanup, bounded driver settings and sanitized failures
are covered.
- Root formatting and Java 11 `./mvnw -q -DskipTests verify` pass. Normal
source/sink E2E evidence is recorded separately for the bootstrap prerequisite.
Focused command, run with Java 8 and Java 11 selected through `JAVA_HOME`:
```sh
./mvnw -B -pl
seatunnel-e2e/seatunnel-connector-v2-e2e/connector-cassandra-e2e -am \
-Dtest=CassandraClientTest,CassandraFactoryTest,TypeConvertUtilTest \
-Dsurefire.failIfNoSpecifiedTests=false -DskipIT=false \
'-Dit.test=CassandraIT#testDryRun*+testUnavailableBootstrapContactPoint' \
-DfailIfNoTests=false verify
```
### Check list
- [x] No new binary dependency; license/notice additions are not required.
- [x] English and Chinese documentation updated.
- [x] No existing runtime configuration/API incompatibility or migration
required; new dry-run restrictions are documented.
- [x] Existing Cassandra E2E extended. No new connector registration, plugin
mapping, distribution entry or CI scope registration is needed.
--
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]