Skip to content

Commit bddf5e1

Browse files
author
Yandu Oppacher
authored
Adding a check and default huge value for deprecated cluster setting (#1053)
* Adding a check and default huge value for deprecated `kv.snapshot_recovery.max_rate` cluster setting. * Update cockroach versions for e2e tests * update version checker tests
1 parent 023cbde commit bddf5e1

File tree

9 files changed

+36
-6
lines changed

9 files changed

+36
-6
lines changed

config/manager/patches/image.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,8 @@ spec:
284284
value: cockroachdb/cockroach:v23.1.26
285285
- name: RELATED_IMAGE_COCKROACH_v23_1_27
286286
value: cockroachdb/cockroach:v23.1.27
287+
- name: RELATED_IMAGE_COCKROACH_v23_1_28
288+
value: cockroachdb/cockroach:v23.1.28
287289
- name: RELATED_IMAGE_COCKROACH_v23_2_0
288290
value: cockroachdb/cockroach:v23.2.0
289291
- name: RELATED_IMAGE_COCKROACH_v23_2_1

config/manifests/bases/cockroach-operator.clusterserviceversion.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,8 @@ spec:
457457
name: RELATED_IMAGE_COCKROACH_v23_1_26
458458
- image: registry.connect.redhat.com/cockroachdb/cockroach@sha256:19f36f53f7da67755eb86da77098c5eeb84b381f9c18aa29ba573793dc498564
459459
name: RELATED_IMAGE_COCKROACH_v23_1_27
460+
- image: registry.connect.redhat.com/cockroachdb/cockroach@sha256:8737b67b91983817e3e4ff3f47f0b070bd36162d309b60993529426c6979cb24
461+
name: RELATED_IMAGE_COCKROACH_v23_1_28
460462
- image: registry.connect.redhat.com/cockroachdb/cockroach@sha256:56109e57ee0379cf48644bcf8226a9238e01139cacc5499002c99f973f121911
461463
name: RELATED_IMAGE_COCKROACH_v23_2_0
462464
- image: registry.connect.redhat.com/cockroachdb/cockroach@sha256:4e5f7df1dc1e1db398c36d590431e7e5782897b209972d8e9e4671971c10d1b6

config/manifests/patches/deployment_patch.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,8 @@ spec:
293293
value: registry.connect.redhat.com/cockroachdb/cockroach@sha256:d467383af41aa80c26172964c34152abeba45121599804e502984655b72179f0
294294
- name: RELATED_IMAGE_COCKROACH_v23_1_27
295295
value: registry.connect.redhat.com/cockroachdb/cockroach@sha256:19f36f53f7da67755eb86da77098c5eeb84b381f9c18aa29ba573793dc498564
296+
- name: RELATED_IMAGE_COCKROACH_v23_1_28
297+
value: registry.connect.redhat.com/cockroachdb/cockroach@sha256:8737b67b91983817e3e4ff3f47f0b070bd36162d309b60993529426c6979cb24
296298
- name: RELATED_IMAGE_COCKROACH_v23_2_0
297299
value: registry.connect.redhat.com/cockroachdb/cockroach@sha256:56109e57ee0379cf48644bcf8226a9238e01139cacc5499002c99f973f121911
298300
- name: RELATED_IMAGE_COCKROACH_v23_2_1

crdb-versions.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,9 @@ CrdbVersions:
409409
- image: cockroachdb/cockroach:v23.1.27
410410
redhatImage: registry.connect.redhat.com/cockroachdb/cockroach@sha256:19f36f53f7da67755eb86da77098c5eeb84b381f9c18aa29ba573793dc498564
411411
tag: v23.1.27
412+
- image: cockroachdb/cockroach:v23.1.28
413+
redhatImage: registry.connect.redhat.com/cockroachdb/cockroach@sha256:8737b67b91983817e3e4ff3f47f0b070bd36162d309b60993529426c6979cb24
414+
tag: v23.1.28
412415
- image: cockroachdb/cockroach:v23.2.0
413416
redhatImage: registry.connect.redhat.com/cockroachdb/cockroach@sha256:56109e57ee0379cf48644bcf8226a9238e01139cacc5499002c99f973f121911
414417
tag: v23.2.0

e2e/e2e.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ var (
2828

2929
// Some common values used in e2e test suites.
3030
const (
31-
MinorVersion1 = "cockroachdb/cockroach:v20.2.8"
32-
MinorVersion2 = "cockroachdb/cockroach:v20.2.9"
33-
MajorVersion = "cockroachdb/cockroach:v21.1.0"
31+
MinorVersion1 = "cockroachdb/cockroach:v24.1.0"
32+
MinorVersion2 = "cockroachdb/cockroach:v24.1.2"
33+
MajorVersion = "cockroachdb/cockroach:v24.2.2"
3434
NonExistentVersion = "cockroachdb/cockroach-non-existent:v21.1.999"
3535
SkipFeatureVersion = "cockroachdb/cockroach:v20.1.0"
3636
InvalidImage = "nginx:latest"

e2e/versionchecker/versionchecker_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ func TestLoggingAPIValidCheck(t *testing.T) {
9393
testutil.RequireLoggingConfigMap(t, sb, "logging-configmap", string(logJson))
9494

9595
builder := testutil.NewBuilder("crdb").Namespaced(sb.Namespace).WithNodeCount(3).WithTLS().
96-
WithImage("cockroachdb/cockroach:v21.1.0").
96+
WithImage("cockroachdb/cockroach:v24.2.2").
9797
WithPVDataStore("32Mi").
9898
WithClusterLogging("logging-configmap")
9999

install/operator.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -642,6 +642,8 @@ spec:
642642
value: cockroachdb/cockroach:v23.1.26
643643
- name: RELATED_IMAGE_COCKROACH_v23_1_27
644644
value: cockroachdb/cockroach:v23.1.27
645+
- name: RELATED_IMAGE_COCKROACH_v23_1_28
646+
value: cockroachdb/cockroach:v23.1.28
645647
- name: RELATED_IMAGE_COCKROACH_v23_2_0
646648
value: cockroachdb/cockroach:v23.2.0
647649
- name: RELATED_IMAGE_COCKROACH_v23_2_1

pkg/clustersql/settings.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,9 @@ func RangeMoveDuration(ctx context.Context, db *sql.DB, zones ...Zone) (time.Dur
8080

8181
recoveryRate, err := GetClusterSetting(ctx, db, "kv.snapshot_recovery.max_rate")
8282
if err != nil {
83-
return 0, errors.Wrap(err, "failed to get kv.snapshot_recovery.max_rate")
83+
// This setting has been removed in 24.1, so if an error is returned set it to a default
84+
// huge number
85+
recoveryRate = "10TB"
8486
}
8587

8688
rebalanceBytes, err := humanize.ParseBytes(rebalanceRate)

pkg/clustersql/settings_test.go

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,6 @@ func TestRangeMoveDuration(t *testing.T) {
199199
// make it easier to stub previous values when validating them in a loop.
200200
tests := []string{
201201
"kv.snapshot_rebalance.max_rate",
202-
"kv.snapshot_recovery.max_rate",
203202
}
204203

205204
for i, tt := range tests {
@@ -248,4 +247,22 @@ func TestRangeMoveDuration(t *testing.T) {
248247
require.Contains(t, err.Error(), fmt.Sprintf("failed to parse %s as uint64", tt.badKey))
249248
}
250249
})
250+
251+
t.Run("returns value when recovery rate setting not found", func(t *testing.T) {
252+
mock.
253+
ExpectQuery("SHOW CLUSTER SETTING " + "kv.snapshot_rebalance.max_rate").
254+
WillReturnRows(sqlmock.NewRows([]string{"name"}).AddRow("1MB"))
255+
256+
// Recovery rate setting not found, so returns an error
257+
mock.
258+
ExpectQuery("SHOW CLUSTER SETTING " + "kv.snapshot_recovery.max_rate").
259+
WillReturnError(errors.New("boom"))
260+
261+
d, err := RangeMoveDuration(ctx, db,
262+
Zone{Target: "zone-1", Config: ZoneConfig{RangeMaxBytes: 2500000}},
263+
Zone{Target: "zone-2", Config: ZoneConfig{RangeMaxBytes: 3750000}},
264+
)
265+
require.NoError(t, err)
266+
require.Equal(t, time.Duration(3)*time.Second, d)
267+
})
251268
}

0 commit comments

Comments
 (0)