Skip to content

Commit f6a5c1c

Browse files
authored
use pebble nosync by default (#3581)
1 parent 1dc4192 commit f6a5c1c

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

database/pebbledb/batch.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ func (db *Database) NewBatch() database.Batch {
3333

3434
func (b *batch) Put(key, value []byte) error {
3535
b.size += len(key) + len(value) + pebbleByteOverHead
36-
return b.batch.Set(key, value, pebble.Sync)
36+
return b.batch.Set(key, value, b.db.writeOptions)
3737
}
3838

3939
func (b *batch) Delete(key []byte) error {
4040
b.size += len(key) + pebbleByteOverHead
41-
return b.batch.Delete(key, pebble.Sync)
41+
return b.batch.Delete(key, b.db.writeOptions)
4242
}
4343

4444
func (b *batch) Size() int {
@@ -67,7 +67,7 @@ func (b *batch) Write() error {
6767
}
6868

6969
b.written = true
70-
return updateError(b.batch.Commit(pebble.Sync))
70+
return updateError(b.batch.Commit(b.db.writeOptions))
7171
}
7272

7373
func (b *batch) Reset() {

database/pebbledb/db.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ var (
4343
MemTableSize: defaultCacheSize / 4,
4444
MaxOpenFiles: 4096,
4545
MaxConcurrentCompactions: 1,
46+
Sync: true,
4647
}
4748
)
4849

@@ -51,6 +52,7 @@ type Database struct {
5152
pebbleDB *pebble.DB
5253
closed bool
5354
openIterators set.Set[*iter]
55+
writeOptions *pebble.WriteOptions
5456
}
5557

5658
type Config struct {
@@ -61,6 +63,7 @@ type Config struct {
6163
MemTableSize uint64 `json:"memTableSize"`
6264
MaxOpenFiles int `json:"maxOpenFiles"`
6365
MaxConcurrentCompactions int `json:"maxConcurrentCompactions"`
66+
Sync bool `json:"sync"`
6467
}
6568

6669
// TODO: Add metrics
@@ -93,6 +96,7 @@ func New(file string, configBytes []byte, log logging.Logger, _ prometheus.Regis
9396
return &Database{
9497
pebbleDB: db,
9598
openIterators: set.Set[*iter]{},
99+
writeOptions: &pebble.WriteOptions{Sync: cfg.Sync},
96100
}, err
97101
}
98102

@@ -167,7 +171,7 @@ func (db *Database) Put(key []byte, value []byte) error {
167171
return database.ErrClosed
168172
}
169173

170-
return updateError(db.pebbleDB.Set(key, value, pebble.Sync))
174+
return updateError(db.pebbleDB.Set(key, value, db.writeOptions))
171175
}
172176

173177
func (db *Database) Delete(key []byte) error {
@@ -178,7 +182,7 @@ func (db *Database) Delete(key []byte) error {
178182
return database.ErrClosed
179183
}
180184

181-
return updateError(db.pebbleDB.Delete(key, pebble.Sync))
185+
return updateError(db.pebbleDB.Delete(key, db.writeOptions))
182186
}
183187

184188
func (db *Database) Compact(start []byte, end []byte) error {

0 commit comments

Comments
 (0)