This short report brings to light some interesting commits to scylladb.git master from the last two weeks. Commits in the fdcaa9a7e79..a1d7722c6d6 range are covered.
There were 138 non-merge commits from 28 authors in that period. Some notable commits:
A gap between node bootstrap and becoming eligible to be a Raft voter could expose clusters to loss-of-quorum. Nodes now become eligible to be voters earlier, closing the gap.
Encryption using AWS Key Management Service (KMS) can now use externally-provided credentials. This makes recovery tasks simpler.
Cleanup of Key Management Interoperability Protocol (KMIP) connections, used by encryption, is more robust, avoiding TLS errors.
A crash with unreasonably sized alternator table name was fixed.
Password authentication now offloads the password hash computation to a separate thread, avoiding a reactor stall.
The small table repair optimization is used when bootstrapping or repairing tables with little data, like system_tracing tables. It now optimizes token range calculations for larger clusters.
A deadlock when removing a failed node in a cluster with materialized views was fixed.
Alternator, ScyllaDB’s implementation of the DynamoDB API, is now more careful to avoid large contiguous allocations during query/scan operations, as these can cause stalls.
Typically secondary indexes are backed by materialized views. This does not hold for vector indexes, so we now avoid creating a view for them.
The CQL binary protocol server now avoids exceptions when rejecting protocol versions it does not support. Unsupported protocol versions are common when drivers probe for server capability, and preventing exceptions improves robustness during connection storms.
Background writes are now cancelled when a node is shut down, so shutdown completes more quickly.
A large remote procedure call (RPC) hash table is now sized in advance to prevent resizing from causing latency jumps.
Encryption at Rest can use the Azure Key Provider to manage keys.
Progress reporting in the internal task manager (exposed by nodetool tasks
) now uses consistent units.
See you in the next issue of last week in scylladb.git master!