commit
bb25891960
|
@ -32,9 +32,9 @@ func snapDir(dataDir string) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func getBuckets(dbPath string) (buckets []string, err error) {
|
func getBuckets(dbPath string) (buckets []string, err error) {
|
||||||
db, derr := bolt.Open(dbPath, 0600, &bolt.Options{})
|
db, derr := bolt.Open(dbPath, 0600, &bolt.Options{Timeout: flockTimeout})
|
||||||
if derr != nil {
|
if derr != nil {
|
||||||
return nil, derr
|
return nil, fmt.Errorf("failed to open bolt DB %v", derr)
|
||||||
}
|
}
|
||||||
defer db.Close()
|
defer db.Close()
|
||||||
|
|
||||||
|
@ -94,9 +94,9 @@ func leaseDecoder(k, v []byte) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func iterateBucket(dbPath, bucket string, limit uint64, decode bool) (err error) {
|
func iterateBucket(dbPath, bucket string, limit uint64, decode bool) (err error) {
|
||||||
db, derr := bolt.Open(dbPath, 0600, &bolt.Options{})
|
db, err := bolt.Open(dbPath, 0600, &bolt.Options{Timeout: flockTimeout})
|
||||||
if derr != nil {
|
if err != nil {
|
||||||
return derr
|
return fmt.Errorf("failed to open bolt DB %v", err)
|
||||||
}
|
}
|
||||||
defer db.Close()
|
defer db.Close()
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,7 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
)
|
)
|
||||||
|
@ -46,10 +47,12 @@ var (
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var flockTimeout time.Duration
|
||||||
var iterateBucketLimit uint64
|
var iterateBucketLimit uint64
|
||||||
var iterateBucketDecode bool
|
var iterateBucketDecode bool
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
rootCommand.PersistentFlags().DurationVar(&flockTimeout, "timeout", 10*time.Second, "time to wait to obtain a file lock on db file, 0 to block indefinitely")
|
||||||
iterateBucketCommand.PersistentFlags().Uint64Var(&iterateBucketLimit, "limit", 0, "max number of key-value pairs to iterate (0< to iterate all)")
|
iterateBucketCommand.PersistentFlags().Uint64Var(&iterateBucketLimit, "limit", 0, "max number of key-value pairs to iterate (0< to iterate all)")
|
||||||
iterateBucketCommand.PersistentFlags().BoolVar(&iterateBucketDecode, "decode", false, "true to decode Protocol Buffer encoded data")
|
iterateBucketCommand.PersistentFlags().BoolVar(&iterateBucketDecode, "decode", false, "true to decode Protocol Buffer encoded data")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue