Skip to content

Commit 0777857

Browse files
craig[bot]jbowens
andcommitted
Merge #148631
148631: storage: disable short attribute extractor in temp engine r=RaduBerinde a=jbowens Disable the short attribute extractor in temporary engines. The short attribute extractor is only capable of parsing Cockroach MVCC keys. Additionally, rename some temp engine identifiers that needlessly were prefixed with 'Pebble'. These were vestiges from when Pebble and RocksDB implementations co-existed. Epic: none Release note: none Co-authored-by: Jackson Owens <jackson@cockroachlabs.com>
2 parents 81c8f91 + 033409b commit 0777857

File tree

3 files changed

+19
-29
lines changed

3 files changed

+19
-29
lines changed

pkg/storage/disk_map_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func runTestForEngine(ctx context.Context, t *testing.T, filename string, engine
4040
// creation and usage code involves too much test-specific code, so use
4141
// a type switch with implementation-specific code instead.
4242
switch e := engine.(type) {
43-
case *pebbleTempEngine:
43+
case *tempEngine:
4444
iter, err := e.db.NewIter(&pebble.IterOptions{UpperBound: roachpb.KeyMax})
4545
if err != nil {
4646
t.Fatal(err)
@@ -167,14 +167,14 @@ func runTestForEngine(ctx context.Context, t *testing.T, filename string, engine
167167
})
168168
}
169169

170-
func TestPebbleMap(t *testing.T) {
170+
func TestTempEngineMap(t *testing.T) {
171171
defer leaktest.AfterTest(t)()
172172
defer log.Scope(t).Close(t)
173173
ctx := context.Background()
174174
dir, cleanup := testutils.TempDir(t)
175175
defer cleanup()
176176

177-
e, _, err := NewPebbleTempEngine(ctx, base.TempStorageConfig{
177+
e, _, err := NewTempEngine(ctx, base.TempStorageConfig{
178178
Path: dir,
179179
Settings: cluster.MakeClusterSettings(),
180180
}, base.StoreSpec{}, disk.NewWriteStatsManager(vfs.Default))
@@ -193,7 +193,7 @@ func TestPebbleMultiMap(t *testing.T) {
193193
dir, cleanup := testutils.TempDir(t)
194194
defer cleanup()
195195

196-
e, _, err := NewPebbleTempEngine(ctx, base.TempStorageConfig{
196+
e, _, err := NewTempEngine(ctx, base.TempStorageConfig{
197197
Path: dir,
198198
Settings: cluster.MakeClusterSettings(),
199199
}, base.StoreSpec{}, disk.NewWriteStatsManager(vfs.Default))
@@ -212,7 +212,7 @@ func TestPebbleMapClose(t *testing.T) {
212212
ctx := context.Background()
213213
dir, cleanup := testutils.TempDir(t)
214214
defer cleanup()
215-
e, _, err := newPebbleTempEngine(ctx, base.TempStorageConfig{
215+
e, _, err := newTempEngine(ctx, base.TempStorageConfig{
216216
Path: dir,
217217
Settings: cluster.MakeClusterSettings(),
218218
}, base.StoreSpec{}, disk.NewWriteStatsManager(vfs.Default))
@@ -319,7 +319,7 @@ func TestPebbleMapClose(t *testing.T) {
319319
func BenchmarkPebbleMapWrite(b *testing.B) {
320320
dir := b.TempDir()
321321
ctx := context.Background()
322-
tempEngine, _, err := NewPebbleTempEngine(ctx, base.TempStorageConfig{
322+
tempEngine, _, err := NewTempEngine(ctx, base.TempStorageConfig{
323323
Path: dir,
324324
Settings: cluster.MakeClusterSettings(),
325325
}, base.DefaultTestStoreSpec, disk.NewWriteStatsManager(vfs.Default))
@@ -360,7 +360,7 @@ func BenchmarkPebbleMapIteration(b *testing.B) {
360360
skip.UnderShort(b)
361361
dir := b.TempDir()
362362
ctx := context.Background()
363-
tempEngine, _, err := NewPebbleTempEngine(ctx, base.TempStorageConfig{
363+
tempEngine, _, err := NewTempEngine(ctx, base.TempStorageConfig{
364364
Path: dir,
365365
Settings: cluster.MakeClusterSettings(),
366366
}, base.DefaultTestStoreSpec, disk.NewWriteStatsManager(vfs.Default))

pkg/storage/temp_engine.go

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -26,49 +26,38 @@ func NewTempEngine(
2626
storeSpec base.StoreSpec,
2727
diskWriteStats disk.WriteStatsManager,
2828
) (diskmap.Factory, vfs.FS, error) {
29-
return NewPebbleTempEngine(ctx, tempStorage, storeSpec, diskWriteStats)
29+
return newTempEngine(ctx, tempStorage, storeSpec, diskWriteStats)
3030
}
3131

32-
type pebbleTempEngine struct {
32+
type tempEngine struct {
3333
db *pebble.DB
3434
env *fs.Env
3535
}
3636

3737
// Close implements the diskmap.Factory interface.
38-
func (r *pebbleTempEngine) Close() {
38+
func (r *tempEngine) Close() {
3939
if err := r.db.Close(); err != nil {
4040
log.Fatalf(context.TODO(), "%v", err)
4141
}
4242
r.env.Close()
4343
}
4444

4545
// NewSortedDiskMap implements the diskmap.Factory interface.
46-
func (r *pebbleTempEngine) NewSortedDiskMap() diskmap.SortedDiskMap {
46+
func (r *tempEngine) NewSortedDiskMap() diskmap.SortedDiskMap {
4747
return newPebbleMap(r.db, false /* allowDuplications */)
4848
}
4949

5050
// NewSortedDiskMultiMap implements the diskmap.Factory interface.
51-
func (r *pebbleTempEngine) NewSortedDiskMultiMap() diskmap.SortedDiskMap {
51+
func (r *tempEngine) NewSortedDiskMultiMap() diskmap.SortedDiskMap {
5252
return newPebbleMap(r.db, true /* allowDuplicates */)
5353
}
5454

55-
// NewPebbleTempEngine creates a new Pebble engine for DistSQL processors to use
56-
// when the working set is larger than can be stored in memory.
57-
func NewPebbleTempEngine(
55+
func newTempEngine(
5856
ctx context.Context,
5957
tempStorage base.TempStorageConfig,
6058
storeSpec base.StoreSpec,
6159
diskWriteStats disk.WriteStatsManager,
62-
) (diskmap.Factory, vfs.FS, error) {
63-
return newPebbleTempEngine(ctx, tempStorage, storeSpec, diskWriteStats)
64-
}
65-
66-
func newPebbleTempEngine(
67-
ctx context.Context,
68-
tempStorage base.TempStorageConfig,
69-
storeSpec base.StoreSpec,
70-
diskWriteStats disk.WriteStatsManager,
71-
) (*pebbleTempEngine, vfs.FS, error) {
60+
) (*tempEngine, vfs.FS, error) {
7261
var baseFS vfs.FS
7362
var dir string
7463
var cacheSize int64 = 128 << 20 // 128 MiB, arbitrary, but not "too big"
@@ -110,6 +99,7 @@ func newPebbleTempEngine(
11099
cfg.opts.KeySchema = ""
111100
cfg.opts.DisableWAL = true
112101
cfg.opts.Experimental.UserKeyCategories = pebble.UserKeyCategories{}
102+
cfg.opts.Experimental.ShortAttributeExtractor = nil
113103
cfg.opts.Experimental.SpanPolicyFunc = nil
114104
cfg.opts.BlockPropertyCollectors = nil
115105
cfg.opts.EnableSQLRowSpillMetrics = true
@@ -124,7 +114,7 @@ func newPebbleTempEngine(
124114
// Set store ID for the pebble engine. We are not using shared storage for
125115
// temp stores so this cannot error out.
126116
_ = p.SetStoreID(ctx, base.TempStoreID)
127-
return &pebbleTempEngine{
117+
return &tempEngine{
128118
db: p.db,
129119
env: env,
130120
}, env, nil

pkg/storage/temp_engine_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919
"github.com/cockroachdb/pebble/vfs"
2020
)
2121

22-
func TestNewPebbleTempEngine(t *testing.T) {
22+
func TestNewTempEngine(t *testing.T) {
2323
defer leaktest.AfterTest(t)()
2424
defer log.Scope(t).Close(t)
2525

@@ -28,12 +28,12 @@ func TestNewPebbleTempEngine(t *testing.T) {
2828
defer tempDirCleanup()
2929

3030
diskWriteStats := disk.NewWriteStatsManager(vfs.Default)
31-
db, filesystem, err := NewPebbleTempEngine(context.Background(), base.TempStorageConfig{
31+
db, filesystem, err := NewTempEngine(context.Background(), base.TempStorageConfig{
3232
Path: tempDir,
3333
Settings: cluster.MakeTestingClusterSettings(),
3434
}, base.StoreSpec{Path: tempDir}, diskWriteStats)
3535
if err != nil {
36-
t.Fatalf("error encountered when invoking NewRocksDBTempEngine: %+v", err)
36+
t.Fatalf("error encountered when invoking NewTempEngine: %+v", err)
3737
}
3838
defer db.Close()
3939

0 commit comments

Comments
 (0)