From d9620c89c496121ef23ed0a65639a0487689b8e8 Mon Sep 17 00:00:00 2001 From: Manish R Jain Date: Wed, 29 May 2019 15:40:28 -0700 Subject: [PATCH] Fix badger.info: prefix should be parsed as hex before using. --- badger/cmd/info.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/badger/cmd/info.go b/badger/cmd/info.go index 324017350..2d6ecab27 100644 --- a/badger/cmd/info.go +++ b/badger/cmd/info.go @@ -99,12 +99,16 @@ func handleInfo(cmd *cobra.Command, args []string) error { tableInfo(sstDir, vlogDir, db) } + prefix, err := hex.DecodeString(opt.withPrefix) + if err != nil { + return errors.Wrapf(err, "failed to decode hex prefix: %s", opt.withPrefix) + } if opt.showHistogram { - db.PrintHistogram([]byte(opt.withPrefix)) + db.PrintHistogram(prefix) } if opt.showKeys { - if err := showKeys(db, opt.withPrefix); err != nil { + if err := showKeys(db, prefix); err != nil { return err } } @@ -117,9 +121,9 @@ func handleInfo(cmd *cobra.Command, args []string) error { return nil } -func showKeys(db *badger.DB, prefix string) error { +func showKeys(db *badger.DB, prefix []byte) error { if len(prefix) > 0 { - fmt.Printf("Only choosing keys with prefix: \n%s", hex.Dump([]byte(prefix))) + fmt.Printf("Only choosing keys with prefix: \n%s", hex.Dump(prefix)) } txn := db.NewTransaction(false) defer txn.Discard()