From 07b7df9171e5cd6b75efaa4cc8dad086be2e1e89 Mon Sep 17 00:00:00 2001 From: Calle Wilund Date: Mon, 8 Jun 2020 13:28:04 +0000 Subject: [PATCH] cdc::log: Missing "preimage" check in row deletion pre-image Fixes #6561 Pre-image generation in row deletion case only checked if we had a pre-image result set row. But that can be from post-image. Also check actual existance of the pre-image CK. Message-Id: <20200608132804.23541-1-calle@scylladb.com> (cherry picked from commit 5105e9f5e1f1a56f5a41ca07e9b9c4329203be3b) --- cdc/log.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cdc/log.cc b/cdc/log.cc index 2f21216c7d..89cf053806 100644 --- a/cdc/log.cc +++ b/cdc/log.cc @@ -1146,7 +1146,7 @@ public: if (r.row().deleted_at()) { touched_parts.set(); cdc_op = operation::row_delete; - if (pirow) { + if (pirow && pikey) { for (const column_definition& column: _schema->regular_columns()) { assert(pirow->has(column.name_as_text())); auto& cdef = *_log_schema->get_column_definition(log_data_column_name_bytes(column.name()));