diff --git a/core/blockchain_repair_test.go b/core/blockchain_repair_test.go index 1b3f1b718782..4523324d74ca 100644 --- a/core/blockchain_repair_test.go +++ b/core/blockchain_repair_test.go @@ -1756,7 +1756,10 @@ func testRepair(t *testing.T, tt *rewindTest, snapshots bool) { // Create a temporary persistent database datadir := t.TempDir() - db, err := rawdb.NewLevelDBDatabaseWithFreezer(datadir, 0, 0, datadir, "", false) + db, err := rawdb.Open(rawdb.OpenOptions{ + Directory: datadir, + AncientsDirectory: datadir, + }) if err != nil { t.Fatalf("Failed to create persistent database: %v", err) } @@ -1829,7 +1832,11 @@ func testRepair(t *testing.T, tt *rewindTest, snapshots bool) { chain.stopWithoutSaving() // Start a new blockchain back up and see where the repair leads us - db, err = rawdb.NewLevelDBDatabaseWithFreezer(datadir, 0, 0, datadir, "", false) + db, err = rawdb.Open(rawdb.OpenOptions{ + Directory: datadir, + AncientsDirectory: datadir, + }) + if err != nil { t.Fatalf("Failed to reopen persistent database: %v", err) } @@ -1884,7 +1891,11 @@ func TestIssue23496(t *testing.T) { // Create a temporary persistent database datadir := t.TempDir() - db, err := rawdb.NewLevelDBDatabaseWithFreezer(datadir, 0, 0, datadir, "", false) + db, err := rawdb.Open(rawdb.OpenOptions{ + Directory: datadir, + AncientsDirectory: datadir, + }) + if err != nil { t.Fatalf("Failed to create persistent database: %v", err) } @@ -1944,7 +1955,10 @@ func TestIssue23496(t *testing.T) { chain.stopWithoutSaving() // Start a new blockchain back up and see where the repair leads us - db, err = rawdb.NewLevelDBDatabaseWithFreezer(datadir, 0, 0, datadir, "", false) + db, err = rawdb.Open(rawdb.OpenOptions{ + Directory: datadir, + AncientsDirectory: datadir, + }) if err != nil { t.Fatalf("Failed to reopen persistent database: %v", err) } diff --git a/core/blockchain_sethead_test.go b/core/blockchain_sethead_test.go index 1750cb4e63dc..88a0b3688837 100644 --- a/core/blockchain_sethead_test.go +++ b/core/blockchain_sethead_test.go @@ -1956,7 +1956,10 @@ func testSetHead(t *testing.T, tt *rewindTest, snapshots bool) { // Create a temporary persistent database datadir := t.TempDir() - db, err := rawdb.NewLevelDBDatabaseWithFreezer(datadir, 0, 0, datadir, "", false) + db, err := rawdb.Open(rawdb.OpenOptions{ + Directory: datadir, + AncientsDirectory: datadir, + }) if err != nil { t.Fatalf("Failed to create persistent database: %v", err) } diff --git a/core/blockchain_snapshot_test.go b/core/blockchain_snapshot_test.go index b5aa7844b4f6..a1868a4116a3 100644 --- a/core/blockchain_snapshot_test.go +++ b/core/blockchain_snapshot_test.go @@ -61,7 +61,10 @@ func (basic *snapshotTestBasic) prepare(t *testing.T) (*BlockChain, []*types.Blo // Create a temporary persistent database datadir := t.TempDir() - db, err := rawdb.NewLevelDBDatabaseWithFreezer(datadir, 0, 0, datadir, "", false) + db, err := rawdb.Open(rawdb.OpenOptions{ + Directory: datadir, + AncientsDirectory: datadir, + }) if err != nil { t.Fatalf("Failed to create persistent database: %v", err) } @@ -250,7 +253,11 @@ func (snaptest *crashSnapshotTest) test(t *testing.T) { chain.stopWithoutSaving() // Start a new blockchain back up and see where the repair leads us - newdb, err := rawdb.NewLevelDBDatabaseWithFreezer(snaptest.datadir, 0, 0, snaptest.datadir, "", false) + newdb, err := rawdb.Open(rawdb.OpenOptions{ + Directory: snaptest.datadir, + AncientsDirectory: snaptest.datadir, + }) + if err != nil { t.Fatalf("Failed to reopen persistent database: %v", err) } diff --git a/core/rawdb/database.go b/core/rawdb/database.go index 8cb2d08e279d..1d3daec6a7ab 100644 --- a/core/rawdb/database.go +++ b/core/rawdb/database.go @@ -328,12 +328,14 @@ func hasPreexistingDb(path string) string { return dbLeveldb } +// OpenOptions contains the options to apply when opening a database. +// OBS: If AncientsDirectory is empty, it indicates that no freezer is to be used. type OpenOptions struct { Type string // "leveldb" | "pebble" - Directory string - AncientsDirectory string + Directory string // the datadir + AncientsDirectory string // the ancients-dir Namespace string - Cache int + Cache int // Cache size in MiB Handles int ReadOnly bool } @@ -379,23 +381,6 @@ func Open(o OpenOptions) (ethdb.Database, error) { return frdb, nil } -// NewLevelDBDatabaseWithFreezer creates a persistent key-value database with a -// freezer moving immutable chain segments into cold storage. The passed ancient -// indicates the path of root ancient directory where the chain freezer can be -// opened. -// @deprecated: use Open instead -func NewLevelDBDatabaseWithFreezer(file string, cache int, handles int, ancient string, namespace string, readonly bool) (ethdb.Database, error) { - return Open(OpenOptions{ - Type: "leveldb", - Directory: file, - AncientsDirectory: ancient, - Namespace: namespace, - Cache: cache, - Handles: handles, - ReadOnly: readonly, - }) -} - type counter uint64 func (c counter) String() string {