From aca066f3378514bf99c56ff9723e9e7e86452326 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Thu, 23 Feb 2017 16:35:16 +0200 Subject: [PATCH] cmd/geth: drop upgradedb subcommand since it's unfeasible This command was meant as a hackish way to upgrade our chain database way back when nobody cared for live updates and the size of the database along with its import times was small. With the current database weighing hundreds of GBs and processing times of many days, this command is just ludicrous. --- cmd/geth/chaincmd.go | 60 -------------------------------------------- cmd/geth/main.go | 1 - 2 files changed, 61 deletions(-) diff --git a/cmd/geth/chaincmd.go b/cmd/geth/chaincmd.go index 74950697c..1c21c4ded 100644 --- a/cmd/geth/chaincmd.go +++ b/cmd/geth/chaincmd.go @@ -19,7 +19,6 @@ package main import ( "fmt" "os" - "path/filepath" "runtime" "strconv" "sync/atomic" @@ -72,16 +71,6 @@ Requires a first argument of the file to write to. Optional second and third arguments control the first and last block to write. In this mode, the file will be appended if already existing. -`, - } - upgradedbCommand = cli.Command{ - Action: upgradeDB, - Name: "upgradedb", - Usage: "Upgrade chainblock database", - ArgsUsage: " ", - Category: "BLOCKCHAIN COMMANDS", - Description: ` -TODO: Please write this `, } removedbCommand = cli.Command{ @@ -255,49 +244,6 @@ func removeDB(ctx *cli.Context) error { return nil } -func upgradeDB(ctx *cli.Context) error { - log.Info(fmt.Sprint("Upgrading blockchain database")) - - stack := utils.MakeNode(ctx, clientIdentifier, gitCommit) - chain, chainDb := utils.MakeChain(ctx, stack) - bcVersion := core.GetBlockChainVersion(chainDb) - if bcVersion == 0 { - bcVersion = core.BlockChainVersion - } - - // Export the current chain. - filename := fmt.Sprintf("blockchain_%d_%s.chain", bcVersion, time.Now().Format("20060102_150405")) - exportFile := filepath.Join(ctx.GlobalString(utils.DataDirFlag.Name), filename) - if err := utils.ExportChain(chain, exportFile); err != nil { - utils.Fatalf("Unable to export chain for reimport %s", err) - } - chainDb.Close() - if dir := dbDirectory(chainDb); dir != "" { - os.RemoveAll(dir) - } - - // Import the chain file. - chain, chainDb = utils.MakeChain(ctx, stack) - core.WriteBlockChainVersion(chainDb, core.BlockChainVersion) - err := utils.ImportChain(chain, exportFile) - chainDb.Close() - if err != nil { - utils.Fatalf("Import error %v (a backup is made in %s, use the import command to import it)", err, exportFile) - } else { - os.Remove(exportFile) - log.Info(fmt.Sprint("Import finished")) - } - return nil -} - -func dbDirectory(db ethdb.Database) string { - ldb, ok := db.(*ethdb.LDBDatabase) - if !ok { - return "" - } - return ldb.Path() -} - func dump(ctx *cli.Context) error { stack := makeFullNode(ctx) chain, chainDb := utils.MakeChain(ctx, stack) @@ -329,9 +275,3 @@ func hashish(x string) bool { _, err := strconv.Atoi(x) return err != nil } - -func closeAll(dbs ...ethdb.Database) { - for _, db := range dbs { - db.Close() - } -} diff --git a/cmd/geth/main.go b/cmd/geth/main.go index 803a618f1..fa61f7386 100644 --- a/cmd/geth/main.go +++ b/cmd/geth/main.go @@ -65,7 +65,6 @@ func init() { initCommand, importCommand, exportCommand, - upgradedbCommand, removedbCommand, dumpCommand, // See monitorcmd.go: