This short report brings to light some interesting commits to scylladb.git master from the last week. Commits in the 8cd9f5d271..cdba3bebda range are covered.
There were 377 non-merge commits from 42 authors in that period. Some notable commits:
CQL batchlog replays are now sent with consistency level EACH_QUORUM instead of ALL to increase their availability.
When alternator uses Paxos for writes, it now also uses Paxos to request record pre-images for change data capture (CDC). This increases consistency of CDC records.
There is now an experimental flag for enabling strongly consistent tables, marking the beginning of active development.
ScyllaDB can now read and write to Google Cloud Storage via its native protocol rather than S3 emulation.
ScyllaDB now authenticates vector store connections to the main database.
Alternator, ScyllaDB’s implementation of the DynamoDB API, now supports the userIdentity field for records deleted via time-to-live (TTL) and reported via the Streams API.
Previously, tablet merges with active materialized views were disallowed. They are now allowed when the cluster topology allows it (when the number of replicas is equal to the number of racks).
A race condition between tablet spit and load-and-stream (importing sstables) was fixed.
Alternator, ScyllaDB’s implementation of the DynamoDB API, now skips materialized view building when indexes are created for empty tables.
The nodetool scrub command can now drop sstables which cannot be recovered.
The scylla sstable command can now create sstables offline using CQL statements.
Change Data Capture will now garbage-collect unnecessary CDC streams when it is used with tablets.
Materialized view update concurrency control was improved, reducing the probability of flooding the system with materialized view updates.
The maximum record size of trace records is now configurable.
Alternator, ScyllaDB’s implementation of the DynamoDB API, now has better protection against oversize requests.
We are now more careful updating the repair time after batchlog failure replay. The is important for tombstone_gc = repair mode.
Change Data Capture (CDC) pre-images now work for tables without a clustering key.
Alternator, ScyllaDB’s implementation of the DynamoDB API, generated incorrect records for TTL expiration events. This is now fixed.
When disabling autocompaction, we no longer abort an ongoing major compaction (as it is a user-requested compaction, not automatic).
We now automatically expand a numeric replication factor (‘my_dc’: 3) to a list of racks ('my_dc: [‘rackA’, ‘rackB’, ‘rackC’]) to persist the choice of racks for replication, allowing new racks to be added later.
The compaction controller will now compute (and emit a metric for) the compaction backlog, allowing operators to estimate the effect of the automatic compaction controller even when it is not enabled.
The default sstable compression algorithm was changed to LZ4WithDictsCompressor as it delivers better compression.
There is a new nodetool excludenode command that allows marking a node as permanently down. The removenode operation sometimes cannot be used if it would violate replication invariants.
Tables with counter columns are now supported with tablets.
Authentication can now work in an unenforcing mode (warnings only) to test the effects of changing auth configuration.
There is now a metric for time spent on tablet repair.
See you in the next issue of last week in scylladb.git master!