Skip to content

Commit 8d099d4

Browse files
committed
storage: add cluster version to env config
1 parent 9e91372 commit 8d099d4

File tree

19 files changed

+129
-54
lines changed

19 files changed

+129
-54
lines changed

pkg/ccl/storageccl/engineccl/encrypted_fs_test.go

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,7 @@ func TestPebbleEncryption(t *testing.T) {
247247

248248
func() {
249249
// Initialize the filesystem env.
250+
settings := cluster.MakeTestingClusterSettings()
250251
env, err := fs.InitEnvFromStoreSpec(
251252
ctx,
252253
base.StoreSpec{
@@ -255,12 +256,15 @@ func TestPebbleEncryption(t *testing.T) {
255256
EncryptionOptions: encOptions,
256257
StickyVFSID: stickyVFSID,
257258
},
258-
fs.ReadWrite,
259+
fs.EnvConfig{
260+
RW: fs.ReadWrite,
261+
Version: settings.Version,
262+
},
259263
stickyRegistry, /* sticky registry */
260264
nil, /* statsCollector */
261265
)
262266
require.NoError(t, err)
263-
db, err := storage.Open(ctx, env, cluster.MakeTestingClusterSettings())
267+
db, err := storage.Open(ctx, env, settings)
264268
require.NoError(t, err)
265269
defer db.Close()
266270

@@ -295,6 +299,7 @@ func TestPebbleEncryption(t *testing.T) {
295299

296300
func() {
297301
// Initialize the filesystem env again, replaying the file registries.
302+
settings := cluster.MakeTestingClusterSettings()
298303
env, err := fs.InitEnvFromStoreSpec(
299304
ctx,
300305
base.StoreSpec{
@@ -303,12 +308,15 @@ func TestPebbleEncryption(t *testing.T) {
303308
EncryptionOptions: encOptions,
304309
StickyVFSID: stickyVFSID,
305310
},
306-
fs.ReadWrite,
311+
fs.EnvConfig{
312+
RW: fs.ReadWrite,
313+
Version: settings.Version,
314+
},
307315
stickyRegistry, /* sticky registry */
308316
nil, /* statsCollector */
309317
)
310318
require.NoError(t, err)
311-
db, err := storage.Open(ctx, env, cluster.MakeTestingClusterSettings())
319+
db, err := storage.Open(ctx, env, settings)
312320
require.NoError(t, err)
313321
defer db.Close()
314322
require.Equal(t, []byte("a"), storageutils.MVCCGetRaw(t, db, storageutils.PointKey("a", 0)))
@@ -382,6 +390,7 @@ func TestPebbleEncryption2(t *testing.T) {
382390

383391
// Initialize the filesystem env.
384392
ctx := context.Background()
393+
settings := cluster.MakeTestingClusterSettings()
385394
env, err := fs.InitEnvFromStoreSpec(
386395
ctx,
387396
base.StoreSpec{
@@ -390,12 +399,15 @@ func TestPebbleEncryption2(t *testing.T) {
390399
EncryptionOptions: encOptions,
391400
StickyVFSID: stickyVFSID,
392401
},
393-
fs.ReadWrite,
402+
fs.EnvConfig{
403+
RW: fs.ReadWrite,
404+
Version: settings.Version,
405+
},
394406
stickyRegistry, /* sticky registry */
395407
nil, /* statsCollector */
396408
)
397409
require.NoError(t, err)
398-
db, err := storage.Open(ctx, env, cluster.MakeTestingClusterSettings())
410+
db, err := storage.Open(ctx, env, settings)
399411
require.NoError(t, err)
400412
defer db.Close()
401413

pkg/cli/debug.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ func (f *keyFormat) Type() string {
163163
// engine, they should manually open it using storage.Open. The returned Env has
164164
// 1 reference and the caller must ensure it's closed.
165165
func OpenFilesystemEnv(dir string, rw fs.RWMode) (*fs.Env, error) {
166-
envConfig := fs.EnvConfig{RW: rw}
166+
envConfig := fs.EnvConfig{RW: rw, Version: serverCfg.Settings.Version}
167167
if err := fillEncryptionOptionsForStore(dir, &envConfig); err != nil {
168168
return nil, err
169169
}
@@ -1743,7 +1743,9 @@ func pebbleCryptoInitializer(ctx context.Context) {
17431743
encryptedPaths = append(encryptedPaths, spec.Path)
17441744
}
17451745
resolveFn := func(dir string) (*fs.Env, error) {
1746-
var envConfig fs.EnvConfig
1746+
envConfig := fs.EnvConfig{
1747+
Version: serverCfg.Settings.Version,
1748+
}
17471749
if err := fillEncryptionOptionsForStore(dir, &envConfig); err != nil {
17481750
return nil, err
17491751
}

pkg/cmd/roachtest/tests/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,8 +280,8 @@ go_library(
280280
"//pkg/sql/pgwire/pgerror",
281281
"//pkg/sql/sem/tree",
282282
"//pkg/sql/ttl/ttlbase",
283-
"//pkg/storage",
284283
"//pkg/storage/enginepb",
284+
"//pkg/storage/minversion",
285285
"//pkg/testutils",
286286
"//pkg/testutils/fingerprintutils",
287287
"//pkg/testutils/floatcmp",

pkg/cmd/roachtest/tests/versionupgrade.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
"github.com/cockroachdb/cockroach/pkg/cmd/roachtest/test"
2424
"github.com/cockroachdb/cockroach/pkg/roachprod/install"
2525
"github.com/cockroachdb/cockroach/pkg/roachprod/logger"
26-
"github.com/cockroachdb/cockroach/pkg/storage"
26+
"github.com/cockroachdb/cockroach/pkg/storage/minversion"
2727
"github.com/cockroachdb/cockroach/pkg/testutils/release"
2828
"github.com/cockroachdb/cockroach/pkg/ts/tspb"
2929
"github.com/cockroachdb/cockroach/pkg/util/timeutil"
@@ -281,7 +281,7 @@ func makeVersionFixtureAndFatal(
281281
// #54761.
282282
c.Run(ctx, option.WithNodes(c.Node(1)), "cp", "{store-dir}/cluster-bootstrapped", "{store-dir}/"+name)
283283
// Similar to the above - newer versions require the min version file to open a store.
284-
c.Run(ctx, option.WithNodes(c.All()), "cp", fmt.Sprintf("{store-dir}/%s", storage.MinVersionFilename), "{store-dir}/"+name)
284+
c.Run(ctx, option.WithNodes(c.All()), "cp", fmt.Sprintf("{store-dir}/%s", minversion.MinVersionFilename), "{store-dir}/"+name)
285285
c.Run(ctx, option.WithNodes(c.All()), "tar", "-C", "{store-dir}/"+name, "-czf", "{log-dir}/"+name+".tgz", ".")
286286
t.Fatalf(`successfully created checkpoints; failing test on purpose.
287287

pkg/kv/kvserver/client_metrics_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,10 @@ func verifyStatsOnServers(
100100
// To recompute the metrics, we need an open engine. Open the
101101
// Engine again in read-only mode (leaving the rest of the
102102
// Server stopped) to compute MVCC stats.
103-
env, err := fs.InitEnvFromStoreSpec(ctx, specs[storeIdx], fs.ReadOnly, stickyRegistry, nil /* statsCollector */)
103+
env, err := fs.InitEnvFromStoreSpec(ctx, specs[storeIdx], fs.EnvConfig{
104+
RW: fs.ReadOnly,
105+
Version: s.GetStoreConfig().Settings.Version,
106+
}, stickyRegistry, nil /* statsCollector */)
104107
if err != nil {
105108
t.Fatal(err)
106109
}

pkg/kv/kvserver/consistency_queue_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -407,9 +407,10 @@ func TestCheckConsistencyInconsistent(t *testing.T) {
407407
// VFS to verify its contents.
408408
ctx := context.Background()
409409
memFS := stickyVFSRegistry.Get(vfsIDs[i])
410-
env, err := fs.InitEnv(ctx, memFS, cps[0], fs.EnvConfig{RW: fs.ReadOnly}, nil /* statsCollector */)
410+
settings := cluster.MakeClusterSettings()
411+
env, err := fs.InitEnv(ctx, memFS, cps[0], fs.EnvConfig{RW: fs.ReadOnly, Version: settings.Version}, nil /* statsCollector */)
411412
require.NoError(t, err)
412-
cpEng, err := storage.Open(ctx, env, cluster.MakeClusterSettings(),
413+
cpEng, err := storage.Open(ctx, env, settings,
413414
storage.ForTesting, storage.MustExist, storage.CacheSize(1<<20))
414415
if err != nil {
415416
require.NoError(t, err)

pkg/kv/kvserver/logstore/sideload_test.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -575,9 +575,12 @@ func TestSideloadStorageSync(t *testing.T) {
575575
// able to emulate crash restart by rolling it back to last synced state.
576576
ctx := context.Background()
577577
memFS := vfs.NewCrashableMem()
578-
env, err := fs.InitEnv(ctx, memFS, "", fs.EnvConfig{}, nil /* statsCollector */)
578+
settings := cluster.MakeTestingClusterSettings()
579+
env, err := fs.InitEnv(ctx, memFS, "", fs.EnvConfig{
580+
Version: settings.Version,
581+
}, nil /* statsCollector */)
579582
require.NoError(t, err)
580-
eng, err := storage.Open(ctx, env, cluster.MakeTestingClusterSettings(), storage.ForTesting)
583+
eng, err := storage.Open(ctx, env, settings, storage.ForTesting)
581584
require.NoError(t, err)
582585
ss := newTestingSideloadStorage(eng)
583586

@@ -595,9 +598,11 @@ func TestSideloadStorageSync(t *testing.T) {
595598
// Reset filesystem to the last synced state.
596599

597600
// Emulate process restart. Load from the last synced state.
598-
env, err = fs.InitEnv(ctx, crashFS, "", fs.EnvConfig{}, nil /* statsCollector */)
601+
env, err = fs.InitEnv(ctx, crashFS, "", fs.EnvConfig{
602+
Version: settings.Version,
603+
}, nil /* statsCollector */)
599604
require.NoError(t, err)
600-
eng, err = storage.Open(ctx, env, cluster.MakeTestingClusterSettings(), storage.ForTesting)
605+
eng, err = storage.Open(ctx, env, settings, storage.ForTesting)
601606
require.NoError(t, err)
602607
defer eng.Close()
603608
ss = newTestingSideloadStorage(eng)

pkg/server/config.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -764,7 +764,10 @@ func (cfg *Config) CreateEngines(ctx context.Context) (Engines, error) {
764764
stickyRegistry = serverKnobs.StickyVFSRegistry
765765
}
766766

767-
storeEnvs, err := fs.InitEnvsFromStoreSpecs(ctx, cfg.Stores.Specs, fs.ReadWrite, stickyRegistry, cfg.DiskWriteStats)
767+
storeEnvs, err := fs.InitEnvsFromStoreSpecs(ctx, cfg.Stores.Specs, fs.EnvConfig{
768+
RW: fs.ReadWrite,
769+
Version: cfg.Settings.Version,
770+
}, stickyRegistry, cfg.DiskWriteStats)
768771
if err != nil {
769772
return Engines{}, err
770773
}

pkg/storage/bench_data_test.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,13 @@ func buildInitialState(
142142
// or not, we build the conditions using an in-memory engine for
143143
// performance.
144144
buildFS = vfs.NewMem()
145-
env, err := fs.InitEnv(ctx, buildFS, "", fs.EnvConfig{}, nil /* statsCollector */)
145+
settings := cluster.MakeClusterSettings()
146+
env, err := fs.InitEnv(ctx, buildFS, "", fs.EnvConfig{
147+
Version: settings.Version,
148+
}, nil /* statsCollector */)
146149
require.NoError(b, err)
147150

148-
e, err := Open(ctx, env, cluster.MakeClusterSettings(), opts...)
151+
e, err := Open(ctx, env, settings, opts...)
149152
require.NoError(b, err)
150153
require.NoError(b, initial.Build(ctx, b, e))
151154
e.Close()

pkg/storage/engine_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1072,7 +1072,10 @@ func TestCreateCheckpoint(t *testing.T) {
10721072
}
10731073

10741074
func mustInitTestEnv(t testing.TB, baseFS vfs.FS, dir string) *fs.Env {
1075-
e, err := fs.InitEnv(context.Background(), baseFS, dir, fs.EnvConfig{}, nil /* statsCollector */)
1075+
settings := cluster.MakeTestingClusterSettings()
1076+
e, err := fs.InitEnv(context.Background(), baseFS, dir, fs.EnvConfig{
1077+
Version: settings.Version,
1078+
}, nil /* statsCollector */)
10761079
require.NoError(t, err)
10771080
return e
10781081
}

0 commit comments

Comments
 (0)