Last fortnight in scylladb.git master (issue #174; 2023-04-09)

This short report brings to light some interesting commits to scylladb.git master from the last two weeks (previous week’s report was not sent due to illness). Commits in the 46e6c639d9…c65bd01174 range are covered.

There were 228 non-merge commits from 19 authors in that period. Some notable commits:

WebAssembly functions are translated to machine code in a separate thread to reduce impact on the running system. The thread now runs with lower priority to reduce impact further.

A scan on a disjoint token range (e.g. (1…100), (200…300)) could have resulted in incorrect results. It’s not possible for a user query to specify a disjoint token range; we are checking if internal sources could generate such queries. The bug itself is fixed.

A large query is broken up into separate pages. When tracing, each page gets its own trace session. An optimization in ScyllaDB means a following page can reuse state from the previous page. The trace will now link to the previous session when this happens, improving visibility.

ScyllaDB uses a separate commitlog for tables holding the schema, so that schema changes do not suffer high latency under heavy write loads. This separate commitlog will now be used for all raft-managed system tables to guarantee atomicity.

The JMX support application, used to support nodetool, now runs under Java 11.

An incorrect read result under complex conditions involving static columns was fixed. It is being investigated whether this has user impact.

Query timeouts in configuration (e.g. read_request_timeout_in_ms) can now be hot-reloaded using SIGHUP.

The separate commitlog for schema is now stored in a separate directory.

Minor bugs in compaction manager, that could cause a compaction not to be triggered, were fixed.

See you in the next issue of last week in scylladb.git master!