diff options
author | Péter Szilágyi <peterke@gmail.com> | 2019-05-17 00:10:58 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-17 00:10:58 +0800 |
commit | f5d89cdb72c1e82e9deb54754bef8dd20bf12591 (patch) | |
tree | b6e2ee16b90cd494eaefec59fb4aaaac71cc6a96 /cmd/utils | |
parent | 60386b3545659d99c7488e456c780606db101936 (diff) | |
parent | 9eba3a9fff2f47f5e094c36a7c905380b0ac8b1f (diff) | |
download | go-tangerine-f5d89cdb72c1e82e9deb54754bef8dd20bf12591.tar go-tangerine-f5d89cdb72c1e82e9deb54754bef8dd20bf12591.tar.gz go-tangerine-f5d89cdb72c1e82e9deb54754bef8dd20bf12591.tar.bz2 go-tangerine-f5d89cdb72c1e82e9deb54754bef8dd20bf12591.tar.lz go-tangerine-f5d89cdb72c1e82e9deb54754bef8dd20bf12591.tar.xz go-tangerine-f5d89cdb72c1e82e9deb54754bef8dd20bf12591.tar.zst go-tangerine-f5d89cdb72c1e82e9deb54754bef8dd20bf12591.zip |
Merge pull request #19244 from karalabe/freezer-2
cmd, core, eth, les, node: chain freezer on top of db rework
Diffstat (limited to 'cmd/utils')
-rw-r--r-- | cmd/utils/cmd.go | 2 | ||||
-rw-r--r-- | cmd/utils/flags.go | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/cmd/utils/cmd.go b/cmd/utils/cmd.go index 74a8c7f39..a3ee45ba7 100644 --- a/cmd/utils/cmd.go +++ b/cmd/utils/cmd.go @@ -302,6 +302,8 @@ func ExportPreimages(db ethdb.Database, fn string) error { } // Iterate over the preimages and export them it := db.NewIteratorWithPrefix([]byte("secure-key-")) + defer it.Release() + for it.Next() { if err := rlp.Encode(writer, it.Value()); err != nil { return err diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 2dc45cbba..ddeb44f34 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -117,6 +117,10 @@ var ( Usage: "Data directory for the databases and keystore", Value: DirectoryString{node.DefaultDataDir()}, } + AncientFlag = DirectoryFlag{ + Name: "datadir.ancient", + Usage: "Data directory for ancient chain segments (default = inside chaindata)", + } KeyStoreDirFlag = DirectoryFlag{ Name: "keystore", Usage: "Directory for the keystore (default = inside the datadir)", @@ -1378,6 +1382,9 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *eth.Config) { cfg.DatabaseCache = ctx.GlobalInt(CacheFlag.Name) * ctx.GlobalInt(CacheDatabaseFlag.Name) / 100 } cfg.DatabaseHandles = makeDatabaseHandles() + if ctx.GlobalIsSet(AncientFlag.Name) { + cfg.DatabaseFreezer = ctx.GlobalString(AncientFlag.Name) + } if gcmode := ctx.GlobalString(GCModeFlag.Name); gcmode != "full" && gcmode != "archive" { Fatalf("--%s must be either 'full' or 'archive'", GCModeFlag.Name) @@ -1566,7 +1573,7 @@ func MakeChainDatabase(ctx *cli.Context, stack *node.Node) ethdb.Database { if ctx.GlobalString(SyncModeFlag.Name) == "light" { name = "lightchaindata" } - chainDb, err := stack.OpenDatabase(name, cache, handles, "") + chainDb, err := stack.OpenDatabaseWithFreezer(name, cache, handles, ctx.GlobalString(AncientFlag.Name), "") if err != nil { Fatalf("Could not open database: %v", err) } |