Skip to content

Commit 5392d6d

Browse files
authored
Merge pull request #146279 from jeffswenson/backport25.2-146220
release-25.2: revert "kv: use origin timestamp to validate lww semantics"
2 parents b59a262 + fb61d45 commit 5392d6d

14 files changed

+92
-683
lines changed

pkg/crosscluster/logical/logical_replication_job_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -2790,7 +2790,7 @@ func TestGetWriterType(t *testing.T) {
27902790
)
27912791
wt, err := getWriterType(ctx, jobspb.LogicalReplicationDetails_Immediate, st)
27922792
require.NoError(t, err)
2793-
require.Equal(t, writerTypeSQL, wt)
2793+
require.Equal(t, writerTypeLegacyKV, wt)
27942794
})
27952795

27962796
t.Run("immediate-mode-post-25.2", func(t *testing.T) {

pkg/crosscluster/logical/logical_replication_writer_processor.go

+4-7
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,9 @@ var immediateModeWriter = settings.RegisterStringSetting(
114114
settings.ApplicationLevel,
115115
"logical_replication.consumer.immediate_mode_writer",
116116
"the writer to use when in immediate mode",
117-
metamorphic.ConstantWithTestChoice("logical_replication.consumer.immediate_mode_writer", string(writerTypeSQL), string(writerTypeLegacyKV), string(writerTypeCRUD)),
117+
// TODO(jeffswenson): re-enable the SQL writer once tombstone handling is fixed
118+
// metamorphic.ConstantWithTestChoice("logical_replication.consumer.immediate_mode_writer", string(writerTypeSQL), string(writerTypeLegacyKV), string(writerTypeCRUD)),
119+
metamorphic.ConstantWithTestChoice("logical_replication.consumer.immediate_mode_writer", string(writerTypeLegacyKV)),
118120
settings.WithValidateString(func(sv *settings.Values, val string) error {
119121
if val != string(writerTypeSQL) && val != string(writerTypeLegacyKV) && val != string(writerTypeCRUD) {
120122
return errors.Newf("immediate mode writer must be either 'sql', 'legacy-kv', or 'crud', got '%s'", val)
@@ -783,12 +785,7 @@ func getWriterType(
783785
) (writerType, error) {
784786
switch mode {
785787
case jobspb.LogicalReplicationDetails_Immediate:
786-
// Require v25.2 to use the sql writer by default to ensure that the
787-
// KV origin timestamp validation is available on all nodes.
788-
if settings.Version.IsActive(ctx, clusterversion.V25_2) {
789-
return writerType(immediateModeWriter.Get(&settings.SV)), nil
790-
}
791-
return writerTypeSQL, nil
788+
return writerType(immediateModeWriter.Get(&settings.SV)), nil
792789
case jobspb.LogicalReplicationDetails_Validated:
793790
return writerTypeSQL, nil
794791
default:

pkg/crosscluster/logical/lww_row_processor_test.go

+5
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,11 @@ func TestLWWConflictResolution(t *testing.T) {
467467
runner.CheckQueryResults(t, fmt.Sprintf("SELECT * from %s", tableNameDst), expectedRows)
468468
})
469469
t.Run("cross-cluster-local-delete", func(t *testing.T) {
470+
if !useKVProc {
471+
// TODO(jeffswenson): re-enable this test
472+
skip.WithIssue(t, 146217, "crud writer does not correctly implement lww")
473+
}
474+
470475
tableNameDst, rp, encoder := setup(t, useKVProc)
471476

472477
runner.Exec(t, fmt.Sprintf("INSERT INTO %s VALUES ($1, $2)", tableNameDst), row1...)

pkg/crosscluster/logical/table_batch_handler_test.go

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"github.com/cockroachdb/cockroach/pkg/sql/catalog/lease"
2020
"github.com/cockroachdb/cockroach/pkg/sql/sem/tree"
2121
"github.com/cockroachdb/cockroach/pkg/testutils/serverutils"
22+
"github.com/cockroachdb/cockroach/pkg/testutils/skip"
2223
"github.com/cockroachdb/cockroach/pkg/testutils/sqlutils"
2324
"github.com/cockroachdb/cockroach/pkg/util/hlc"
2425
"github.com/cockroachdb/cockroach/pkg/util/leaktest"
@@ -199,6 +200,9 @@ func TestTableHandlerExhaustive(t *testing.T) {
199200
defer leaktest.AfterTest(t)()
200201
defer log.Scope(t).Close(t)
201202

203+
// TODO(jeffswenson): re-enable this test
204+
skip.WithIssue(t, 146217, "crud writer does not correctly implement lww")
205+
202206
// This test is an "exhaustive" test of the table handler. It tries to test
203207
// cross product of every possible (replication event type, local value,
204208
// previous value, lww win).

pkg/kv/BUILD.bazel

-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ go_test(
5252
"admission_test.go",
5353
"client_test.go",
5454
"db_test.go",
55-
"kv_client_lww_test.go",
5655
"main_test.go",
5756
"range_lookup_test.go",
5857
"txn_external_test.go",

0 commit comments

Comments
 (0)