Skip to content

Tags: blockarraygroup/scylla

Tags

scylla-3.0.6

Toggle scylla-3.0.6's commit message
release: prepare for 3.0.6 by penberg

scylla-2.3.5

Toggle scylla-2.3.5's commit message
release: prepare for 2.3.5 by hagitsegev

scylla-3.0.5

Toggle scylla-3.0.5's commit message
Revert "Revert "compaction: fix use-after-free when calculating backl…

…og after schema change""

This reverts commit 841ceac. It was reverted because the test
failed; this turned out due to a miscompile of the test.

With this additional fix, the test compiles correctly:

--- a/tests/sstable_datafile_test.cc
+++ b/tests/sstable_datafile_test.cc
@@ -4785,11 +4785,11 @@ SEASTAR_TEST_CASE(backlog_tracker_correctness_after_stop_tracking_compaction) {

             auto fut = sstables::compact_sstables(sstables::compaction_descriptor(ssts), *cf, sst_gen);

             bool stopped_tracking = false;
             for (auto& info : cf._data->cm.get_compactions()) {
-                if (info->cf == &*cf) {
+                if (info->cf == cf->schema()->cf_name()) {
                     info->stop_tracking();
                     stopped_tracking = true;
                 }
             }
             BOOST_REQUIRE(stopped_tracking);

info->cf is an sstring, and &*cf is a table*. It's not clear how the compiler
was able to compare an sstring and a pointer.

scylla-2.3.4

Toggle scylla-2.3.4's commit message
release: prepare for 2.3.4 by hagitsegev

scylla-3.0.4

Toggle scylla-3.0.4's commit message
sstable/compaction: Use correct schema in the writing consumer

Introduced in 2a437ab.

regular_compaction::select_sstable_writer() creates the sstable writer
when the first partition is consumed from the combined mutation
fragment stream. It gets the schema directly from the table
object. That may be a different schema than the one used by the
readers if there was a concurrent schema alter duringthat small time
window. As a result, the writing consumer attached to readers will
interpret fragments using the wrong version of the schema.

One effect of this is storing values of some columns under a different
column.

This patch replaces all column_family::schema() accesses with accesses
to the _schema memeber which is obtained once per compaction and is
the same schema which readers use.

Fixes scylladb#4304.

Tests:

  - manual tests with hard-coded schema change injection to reproduce the bug
  - build/dev/scylla boot
  - tests/sstable_mutation_test

Message-Id: <[email protected]>
(cherry picked from commit 58e7ad2)

scylla-2.3.3

Toggle scylla-2.3.3's commit message
release: prepare for 2.3.3 by hagitsegev

scylla-3.0.3

Toggle scylla-3.0.3's commit message
release: prepare for 3.0.3 by hagitsegev

scylla-3.0.2

Toggle scylla-3.0.2's commit message
release: prepare for 3.0.2 by slivne

scylla-3.0.1

Toggle scylla-3.0.1's commit message
release: prepare for 3.0.1 by hagitsegev

scylla-2.3.2

Toggle scylla-2.3.2's commit message
Update scylla-ami submodule

* dist/ami/files/scylla-ami a425887...fe156a5 (1):
  > scylla_install_ami: update NIC drivers

See scylladb/scylla-ami#44