From 829cb6dfd5151fd7eda1e5c6f9dc555021462b15 Mon Sep 17 00:00:00 2001 From: Pavel Kalinnikov Date: Tue, 24 Oct 2023 10:46:44 +0000 Subject: [PATCH] batcheval: write new GCHint fields under version gate Epic: none Release note (general change): set the default behaviour for `kv.gc.sticky_hint.enabled` cluster setting to enabled since 23.2. The setting is deprecated in 23.2 going forward. --- pkg/kv/kvserver/batcheval/cmd_delete_range.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/kv/kvserver/batcheval/cmd_delete_range.go b/pkg/kv/kvserver/batcheval/cmd_delete_range.go index 3950915f3747..48e8cc79e61c 100644 --- a/pkg/kv/kvserver/batcheval/cmd_delete_range.go +++ b/pkg/kv/kvserver/batcheval/cmd_delete_range.go @@ -14,6 +14,7 @@ import ( "context" "time" + "github.com/cockroachdb/cockroach/pkg/clusterversion" "github.com/cockroachdb/cockroach/pkg/keys" "github.com/cockroachdb/cockroach/pkg/kv/kvpb" "github.com/cockroachdb/cockroach/pkg/kv/kvserver/batcheval/result" @@ -146,7 +147,10 @@ func DeleteRange( } updated := false - if enableStickyGCHint.Get(&cArgs.EvalCtx.ClusterSettings().SV) { + // TODO(pavelkalinnikov): deprecate the cluster setting and call + // ScheduleGCFor unconditionally when min supported version is 23.2. + if cArgs.EvalCtx.ClusterSettings().Version.IsActive(ctx, clusterversion.V23_2) || + enableStickyGCHint.Get(&cArgs.EvalCtx.ClusterSettings().SV) { // Add the timestamp to GCHint to guarantee that GC eventually clears it. updated = hint.ScheduleGCFor(h.Timestamp) }