Skip to content

Commit 633660a

Browse files
committed
expose merkledb.NewConfig
Signed-off-by: Joshua Kim <[email protected]>
1 parent 9d66a4d commit 633660a

File tree

7 files changed

+53
-51
lines changed

7 files changed

+53
-51
lines changed

x/merkledb/db.go

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,20 @@ type MerkleDB interface {
159159
Prefetcher
160160
}
161161

162+
func NewConfig() Config {
163+
return Config{
164+
BranchFactor: BranchFactor16,
165+
Hasher: DefaultHasher,
166+
RootGenConcurrency: 0,
167+
HistoryLength: 300,
168+
ValueNodeCacheSize: units.MiB,
169+
IntermediateNodeCacheSize: units.MiB,
170+
IntermediateWriteBufferSize: units.KiB,
171+
IntermediateWriteBatchSize: 256 * units.KiB,
172+
TraceLevel: NoTrace,
173+
}
174+
}
175+
162176
type Config struct {
163177
// BranchFactor determines the number of children each node can have.
164178
BranchFactor BranchFactor
@@ -244,8 +258,13 @@ type merkleDB struct {
244258
}
245259

246260
// New returns a new merkle database.
247-
func New(ctx context.Context, db database.Database, config Config) (MerkleDB, error) {
248-
metrics, err := newMetrics("merkledb", config.Reg)
261+
func New(
262+
ctx context.Context,
263+
db database.Database,
264+
config Config,
265+
namespace string,
266+
) (MerkleDB, error) {
267+
metrics, err := newMetrics(namespace, config.Reg)
249268
if err != nil {
250269
return nil, err
251270
}

x/merkledb/db_test.go

Lines changed: 11 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -32,27 +32,20 @@ const defaultHistoryLength = 300
3232

3333
// newDB returns a new merkle database with the underlying type so that tests can access unexported fields
3434
func newDB(ctx context.Context, db database.Database, config Config) (*merkleDB, error) {
35-
db, err := New(ctx, db, config)
35+
db, err := New(ctx, db, config, "")
3636
if err != nil {
3737
return nil, err
3838
}
3939
return db.(*merkleDB), nil
4040
}
4141

4242
func newDefaultConfig() Config {
43-
return Config{
44-
BranchFactor: BranchFactor16,
45-
Hasher: DefaultHasher,
46-
RootGenConcurrency: 0,
47-
HistoryLength: defaultHistoryLength,
48-
ValueNodeCacheSize: units.MiB,
49-
IntermediateNodeCacheSize: units.MiB,
50-
IntermediateWriteBufferSize: units.KiB,
51-
IntermediateWriteBatchSize: 256 * units.KiB,
52-
Reg: prometheus.NewRegistry(),
53-
TraceLevel: InfoTrace,
54-
Tracer: trace.Noop,
55-
}
43+
config := NewConfig()
44+
config.HistoryLength = defaultHistoryLength
45+
config.Reg = prometheus.NewRegistry()
46+
config.Tracer = trace.Noop
47+
48+
return config
5649
}
5750

5851
func Test_MerkleDB_Get_Safety(t *testing.T) {
@@ -131,11 +124,7 @@ func Test_MerkleDB_DB_Load_Root_From_DB(t *testing.T) {
131124
baseDB := memdb.New()
132125
defer baseDB.Close()
133126

134-
db, err := New(
135-
context.Background(),
136-
baseDB,
137-
newDefaultConfig(),
138-
)
127+
db, err := New(context.Background(), baseDB, newDefaultConfig(), "")
139128
require.NoError(err)
140129

141130
// Populate initial set of key-value pairs
@@ -159,11 +148,7 @@ func Test_MerkleDB_DB_Load_Root_From_DB(t *testing.T) {
159148
require.NoError(db.Close())
160149

161150
// reloading the db should set the root back to the one that was saved to [baseDB]
162-
db, err = New(
163-
context.Background(),
164-
baseDB,
165-
newDefaultConfig(),
166-
)
151+
db, err = New(context.Background(), baseDB, newDefaultConfig(), "")
167152
require.NoError(err)
168153

169154
reloadedRoot, err := db.GetMerkleRoot(context.Background())
@@ -230,11 +215,7 @@ func Test_MerkleDB_Failed_Batch_Commit(t *testing.T) {
230215
require := require.New(t)
231216

232217
memDB := memdb.New()
233-
db, err := New(
234-
context.Background(),
235-
memDB,
236-
newDefaultConfig(),
237-
)
218+
db, err := New(context.Background(), memDB, newDefaultConfig(), "")
238219
require.NoError(err)
239220

240221
_ = memDB.Close()
@@ -251,11 +232,7 @@ func Test_MerkleDB_Value_Cache(t *testing.T) {
251232
require := require.New(t)
252233

253234
memDB := memdb.New()
254-
db, err := New(
255-
context.Background(),
256-
memDB,
257-
newDefaultConfig(),
258-
)
235+
db, err := New(context.Background(), memDB, newDefaultConfig(), "")
259236
require.NoError(err)
260237

261238
batch := db.NewBatch()

x/merkledb/history_test.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,7 @@ func Test_History_Large(t *testing.T) {
9191
// History must be large enough to get the change proof
9292
// after this loop.
9393
config.HistoryLength = uint(numIters)
94-
db, err := New(
95-
context.Background(),
96-
memdb.New(),
97-
config,
98-
)
94+
db, err := New(context.Background(), memdb.New(), config, "")
9995
require.NoError(err)
10096
roots := []ids.ID{}
10197

x/merkledb/metrics_test.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,7 @@ func Test_Metrics_Basic_Usage(t *testing.T) {
5151
}
5252

5353
func Test_Metrics_Initialize(t *testing.T) {
54-
db, err := New(
55-
context.Background(),
56-
memdb.New(),
57-
newDefaultConfig(),
58-
)
54+
db, err := New(context.Background(), memdb.New(), newDefaultConfig(), "")
5955
require.NoError(t, err)
6056

6157
require.NoError(t, db.Put([]byte("key"), []byte("value")))

x/merkledb/trie_test.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -914,11 +914,7 @@ func Test_Trie_MultipleStates(t *testing.T) {
914914
randCount++
915915
rdb := memdb.New()
916916
defer rdb.Close()
917-
db, err := New(
918-
context.Background(),
919-
rdb,
920-
newDefaultConfig(),
921-
)
917+
db, err := New(context.Background(), rdb, newDefaultConfig(), "")
922918
require.NoError(err)
923919
defer db.Close()
924920

x/sync/network_server_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ func Test_Server_GetChangeProof(t *testing.T) {
160160
context.Background(),
161161
memdb.New(),
162162
newDefaultDBConfig(),
163+
"",
163164
)
164165
require.NoError(t, err)
165166
startRoot, err := serverDB.GetMerkleRoot(context.Background())

x/sync/sync_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ func Test_Creation(t *testing.T) {
3333
context.Background(),
3434
memdb.New(),
3535
newDefaultDBConfig(),
36+
"",
3637
)
3738
require.NoError(err)
3839

@@ -56,6 +57,7 @@ func Test_Completion(t *testing.T) {
5657
context.Background(),
5758
memdb.New(),
5859
newDefaultDBConfig(),
60+
"",
5961
)
6062
require.NoError(err)
6163

@@ -66,6 +68,7 @@ func Test_Completion(t *testing.T) {
6668
context.Background(),
6769
memdb.New(),
6870
newDefaultDBConfig(),
71+
"",
6972
)
7073
require.NoError(err)
7174

@@ -171,6 +174,7 @@ func Test_Sync_FindNextKey_InSync(t *testing.T) {
171174
context.Background(),
172175
memdb.New(),
173176
newDefaultDBConfig(),
177+
"",
174178
)
175179
require.NoError(err)
176180

@@ -242,6 +246,7 @@ func Test_Sync_FindNextKey_Deleted(t *testing.T) {
242246
context.Background(),
243247
memdb.New(),
244248
newDefaultDBConfig(),
249+
"",
245250
)
246251
require.NoError(err)
247252
require.NoError(db.Put([]byte{0x10}, []byte{1}))
@@ -289,6 +294,7 @@ func Test_Sync_FindNextKey_BranchInLocal(t *testing.T) {
289294
context.Background(),
290295
memdb.New(),
291296
newDefaultDBConfig(),
297+
"",
292298
)
293299
require.NoError(err)
294300
require.NoError(db.Put([]byte{0x11}, []byte{1}))
@@ -325,6 +331,7 @@ func Test_Sync_FindNextKey_BranchInReceived(t *testing.T) {
325331
context.Background(),
326332
memdb.New(),
327333
newDefaultDBConfig(),
334+
"",
328335
)
329336
require.NoError(err)
330337
require.NoError(db.Put([]byte{0x11}, []byte{1}))
@@ -370,6 +377,7 @@ func Test_Sync_FindNextKey_ExtraValues(t *testing.T) {
370377
context.Background(),
371378
memdb.New(),
372379
newDefaultDBConfig(),
380+
"",
373381
)
374382
require.NoError(err)
375383

@@ -432,6 +440,7 @@ func TestFindNextKeyEmptyEndProof(t *testing.T) {
432440
context.Background(),
433441
memdb.New(),
434442
newDefaultDBConfig(),
443+
"",
435444
)
436445
require.NoError(err)
437446

@@ -501,6 +510,7 @@ func Test_Sync_FindNextKey_DifferentChild(t *testing.T) {
501510
context.Background(),
502511
memdb.New(),
503512
newDefaultDBConfig(),
513+
"",
504514
)
505515
require.NoError(err)
506516

@@ -551,6 +561,7 @@ func TestFindNextKeyRandom(t *testing.T) {
551561
context.Background(),
552562
memdb.New(),
553563
newDefaultDBConfig(),
564+
"",
554565
)
555566
require.NoError(err)
556567

@@ -559,6 +570,7 @@ func TestFindNextKeyRandom(t *testing.T) {
559570
context.Background(),
560571
memdb.New(),
561572
config,
573+
"",
562574
)
563575
require.NoError(err)
564576

@@ -937,6 +949,7 @@ func Test_Sync_Result_Correct_Root(t *testing.T) {
937949
ctx,
938950
memdb.New(),
939951
newDefaultDBConfig(),
952+
"",
940953
)
941954
require.NoError(err)
942955

@@ -1025,6 +1038,7 @@ func Test_Sync_Result_Correct_Root_With_Sync_Restart(t *testing.T) {
10251038
context.Background(),
10261039
memdb.New(),
10271040
newDefaultDBConfig(),
1041+
"",
10281042
)
10291043
require.NoError(err)
10301044

@@ -1122,6 +1136,7 @@ func Test_Sync_Result_Correct_Root_Update_Root_During(t *testing.T) {
11221136
context.Background(),
11231137
memdb.New(),
11241138
newDefaultDBConfig(),
1139+
"",
11251140
)
11261141
require.NoError(err)
11271142

@@ -1184,6 +1199,7 @@ func Test_Sync_UpdateSyncTarget(t *testing.T) {
11841199
context.Background(),
11851200
memdb.New(),
11861201
newDefaultDBConfig(),
1202+
"",
11871203
)
11881204
require.NoError(err)
11891205
ctx := context.Background()
@@ -1241,6 +1257,7 @@ func generateTrieWithMinKeyLen(t *testing.T, r *rand.Rand, count int, minKeyLen
12411257
context.Background(),
12421258
memdb.New(),
12431259
newDefaultDBConfig(),
1260+
"",
12441261
)
12451262
if err != nil {
12461263
return nil, err

0 commit comments

Comments
 (0)