java-driver icon indicating copy to clipboard operation
java-driver copied to clipboard

Serverless support for version 4.x

Open Bouncheck opened this issue 3 years ago • 6 comments

Enables basic support for serverless Scylla clusters. Changes include:

  • Necessary core code changes
  • Slight changes to test utilities and new tests
  • Removal of code parts related to Datastax Astra

Tested with both remote clusters and CCM with SNI proxy locally.

Bouncheck avatar Dec 06 '22 21:12 Bouncheck

This error in integration tests looks a bit worrying:

com.datastax.oss.driver.api.core.AllNodesFailedException: Could not reach any contact point, make sure you've provided valid addresses (showing first 1 nodes, use getAllErrors() for more): Node(endPoint=127.0.0.1:443:cql.cluster-id.scylla.com, hostId=null, hashCode=34c36d78): [com.datastax.oss.driver.api.core.connection.ConnectionInitException: [s0|control|id: 0xa111f12e, L:/127.0.0.1:33510 - R:/127.0.0.1:443] Protocol initialization request, step 1 (OPTIONS): failed to send request (javax.net.ssl.SSLHandshakeException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed)]
	at com.datastax.oss.driver.api.core.scyllacloud.ScyllaCloudMultiNodeIT.connect_w_simple_operations_protocol_v4(ScyllaCloudMultiNodeIT.java:59)

avelanarius avatar Dec 12 '22 12:12 avelanarius

Note, we should adopt a waterfall procedure. First apply fixes/features on the main branch, then selectively backport to branches.

Starting with the older branch means that there is a window where someone can upgrade from an older branch with the fix/feature, to a newer branch without the fix/feature and be exposed to a regression.

avikivity avatar Dec 13 '22 13:12 avikivity

Note, we should adopt a waterfall procedure. First apply fixes/features on the main branch, then selectively backport to branches.

Starting with the older branch means that there is a window where someone can upgrade from an older branch with the fix/feature, to a newer branch without the fix/feature and be exposed to a regression.

The situation is a bit different in Java Driver. We essentially have two “master”s - scylla-3.x and scylla-4.x, as those are essentially two different drivers not sharing much of the codebase.

The older branches in this repo are branches like scylla-3.7.2.x and we very rarely backport there.

avelanarius avatar Dec 13 '22 13:12 avelanarius

I should better document this organization and clean up unrelated branches (remnants of upstream Datastax repo)

avelanarius avatar Dec 13 '22 13:12 avelanarius

What's the latest status of this PR?

mykaul avatar Apr 05 '23 09:04 mykaul

What's the latest status of this PR?

@avelanarius - ping

mykaul avatar Jul 09 '23 12:07 mykaul

Closing. In case the topic of serverless returns, the code can be checked out at 4.x-serverless-feature

Bouncheck avatar Aug 04 '24 22:08 Bouncheck