goutamadwant opened a new pull request, #12429:
URL: https://github.com/apache/seatunnel/pull/12429
### Purpose of this pull request
Fixes #12428.
Preserve every configured Cassandra bootstrap contact point in the shared
source/sink client. Previously, one builder was created per address and one
builder was selected randomly, discarding the other seeds.
Use one builder and apply authentication, keyspace and datacenter once.
Leave address parsing and driver-managed topology discovery unchanged.
### Does this PR introduce _any_ user-facing change?
Yes. When one configured seed is unavailable, the driver can use another
reachable seed instead of receiving only a randomly selected address. The
original live probe recorded 6 initialization failures in 16 attempts with one
unavailable and one reachable seed.
No configuration migration, new dependency, option or default is introduced.
English and Chinese source/sink documentation now describes bootstrap seed
handling. Reproduced on development code; no claim is made that every released
version was tested.
### How was this patch tested?
- 25 connector unit tests pass on Java 8 and Java 11, including four new
shared-client regression tests.
- Live Cassandra 4.1.1 initialization passes with unavailable/reachable
seeds in both orders on Java 8 and Java 11.
- Existing source-to-sink E2E passes across Flink 1.13/1.15/1.18/1.20, Zeta,
Spark 2.4 and Spark 3.3 under the Java 11 harness.
- Root `spotless:apply` and Java 11 `./mvnw -q -DskipTests verify` pass;
skip-tests verification is compilation/packaging evidence.
Focused unit/live bootstrap 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#testUnavailableBootstrapContactPoint' \
-DfailIfNoTests=false verify
```
For the Java 11 source-to-sink regression, the integration selector also
included `+testCassandra`.
### Check list
- [x] No new binary dependency; license/notice additions are not required.
- [x] English and Chinese documentation updated.
- [x] No incompatible configuration/API change or migration required.
- [x] Existing Cassandra E2E extended. No new connector, 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]