Skip to content

Cassgo 128 - #25

Open
worryg0d wants to merge 9 commits into
masterfrom
cassgo-128
Open

worryg0d wants to merge 9 commits into
masterfrom
cassgo-128

Conversation

@worryg0d

Copy link
Copy Markdown
Owner

No description provided.

worryg0d and others added 3 commits May 22, 2026 11:09
…very DC

Previously, networkTopology.replicaMap didn't take into account the fact the driver might filter
hosts of specific dcs by using HostFilter when computing amount of dcs with replicas for a keyspace.
It wasn't problematic before as the tokenAwareHostPolicy was intended to work with session-level keyspace.
However, it became problematic since v2.1.0 release which enabled the policy to work with all keyspaces in the cluster.
This patch makes networkTopology.replicaMap dc-aware.

Patch by Bohdan Siryk; reviewed by João Reis for CASSGO-122
The fallback to system.peers if system.peers_v2 doesn't exist doesn't work. This patch addresses this.

Patch by João Reis; reviewed by Bohdan Siryk for CASSGO-126
…sion.Timeout

In GoCQL v1.x, the read deadline is set to 0 when reading a new response frame to prevent the connection from closing when it idles.

In v2.0.0 a regression was introduced causing the read deadline to be set to clusterCfg.Timeout for every read operation which leads to connections constantly erroring and reconnecting if they idle.

This patch fixes this regression by implementing the behavior of 1.x. A follow up ticket (CASSGO-127) will rework the timeout configuration so users can tune the read and write timeouts independently from the request timeout.

Patch by João Reis; reviewed by Bohdan Siryk for CASSGO-125
…ity model)

Wires the conventional AGENTS.md -> SECURITY.md -> security model chain so automated tooling can mechanically discover the project's security model. No model content is changed.

patch by Jarek Potiuk; reviewed by Stefan Miklosovic, Bret McGuire for CASSANDRA-21464

Assisted-by: Claude Opus 4.8 (1M context)
nanassito and others added 5 commits June 18, 2026 21:53
Remove ringDescriber mutex around GetHosts I/O; prevHosts/prevPartitioner
were never written. Use read locks for ConnectAddressAndPort and a
read-fast path for HostnameAndPort. Read peer validity under a single
RLock in isValidPeer. Release errorBroadcaster mutex before sending to
listeners.

remove useless lock in isValidPeer

Patch by Dorian Jaminais; reviewed by João Reis and Bohdan Siryk for CASSGO-121
…vedBatch

ObservedQuery and ObservedBatch did not expose the keyspace/table targeted
by a query, requiring consumers (metrics collectors, loggers, tracers) to
parse the CQL statement string.

This change introduces a PreparedMetadata struct (Keyspace, Table) on
ObservedQuery and a parallel []PreparedMetadata slice on ObservedBatch,
populated from prepared statement metadata returned by Cassandra. An
IsPrepared bool on ObservedQuery and a parallel []bool on ObservedBatch
explicitly report when the metadata is valid; statements that take the
unprepared path (e.g. DDL) report IsPrepared=false and zero PreparedMetadata.

The information was already available internally via preparedMetadata
(used for routing), so no additional round-trips or CQL parsing are needed.

Updated TestObserve (including a negative case for an unprepared DDL
statement) and TestBatchObserve to verify the new fields.

Patch by Raj Ummadisetty; reviewed by João Reis, Bohdan Siryk for CASSGO-119
In CASSGO-97 and apache#1920 the handling was changed to better support non-zero stream id
error responses. But because of hardcoding of version 5 in the test harness there was
a regression where older protocol responses were not supported anymore.

By adding an Unwrap method to ErrProtocol now the existing checking in
checkProtocolRelatedError will correctly catch the protocolError.

Patch by James Hartig; reviewed by Bohdan Siryk for CASSGO-131
As Query is supposed to be reusable since cqlbp v2,
it should be possible to overwrite a binding too.

Patch by Max Melentyev; reviewed by João Reis, Bohdan Siryk
for CASSGO-130
Fixed by bumping pierrec/lz4 lib version to v4.1.27. Additionally, added arm64 machines to the testing matrix for unit tests.

Patch by Bohdan Siryk; reviwed by João Reis for CASSGO-128
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants