From a30dc0ce7ce6a8e74d9d5b489f38064a2f7efaed Mon Sep 17 00:00:00 2001 From: rjl493456442 Date: Wed, 13 Dec 2017 10:32:17 +0800 Subject: [PATCH] vendor: update leveldb --- vendor/github.com/syndtr/goleveldb/leveldb/db.go | 4 ++-- .../syndtr/goleveldb/leveldb/iterator/iter.go | 2 +- .../syndtr/goleveldb/leveldb/memdb/memdb.go | 2 +- .../syndtr/goleveldb/leveldb/opt/options.go | 13 +++++++++++++ .../syndtr/goleveldb/leveldb/util/util.go | 2 +- vendor/vendor.json | 6 +++--- 6 files changed, 21 insertions(+), 8 deletions(-) diff --git a/vendor/github.com/syndtr/goleveldb/leveldb/db.go b/vendor/github.com/syndtr/goleveldb/leveldb/db.go index b0cdcb3d0a..fc3c408f8d 100644 --- a/vendor/github.com/syndtr/goleveldb/leveldb/db.go +++ b/vendor/github.com/syndtr/goleveldb/leveldb/db.go @@ -321,7 +321,7 @@ func recoverTable(s *session, o *opt.Options) error { } } err = iter.Error() - if err != nil { + if err != nil && !errors.IsCorrupted(err) { return } err = tw.Close() @@ -392,7 +392,7 @@ func recoverTable(s *session, o *opt.Options) error { } imax = append(imax[:0], key...) } - if err := iter.Error(); err != nil { + if err := iter.Error(); err != nil && !errors.IsCorrupted(err) { iter.Release() return err } diff --git a/vendor/github.com/syndtr/goleveldb/leveldb/iterator/iter.go b/vendor/github.com/syndtr/goleveldb/leveldb/iterator/iter.go index 3b55532746..b16e3a7045 100644 --- a/vendor/github.com/syndtr/goleveldb/leveldb/iterator/iter.go +++ b/vendor/github.com/syndtr/goleveldb/leveldb/iterator/iter.go @@ -88,7 +88,7 @@ type Iterator interface { // its contents may change on the next call to any 'seeks method'. Key() []byte - // Value returns the key of the current key/value pair, or nil if done. + // Value returns the value of the current key/value pair, or nil if done. // The caller should not modify the contents of the returned slice, and // its contents may change on the next call to any 'seeks method'. Value() []byte diff --git a/vendor/github.com/syndtr/goleveldb/leveldb/memdb/memdb.go b/vendor/github.com/syndtr/goleveldb/leveldb/memdb/memdb.go index 18a19ed424..b661c08a93 100644 --- a/vendor/github.com/syndtr/goleveldb/leveldb/memdb/memdb.go +++ b/vendor/github.com/syndtr/goleveldb/leveldb/memdb/memdb.go @@ -329,7 +329,7 @@ func (p *DB) Delete(key []byte) error { h := p.nodeData[node+nHeight] for i, n := range p.prevNode[:h] { - m := n + 4 + i + m := n + nNext + i p.nodeData[m] = p.nodeData[p.nodeData[m]+nNext+i] } diff --git a/vendor/github.com/syndtr/goleveldb/leveldb/opt/options.go b/vendor/github.com/syndtr/goleveldb/leveldb/opt/options.go index 44e7d9adce..f2461d87b1 100644 --- a/vendor/github.com/syndtr/goleveldb/leveldb/opt/options.go +++ b/vendor/github.com/syndtr/goleveldb/leveldb/opt/options.go @@ -41,6 +41,7 @@ var ( DefaultWriteBuffer = 4 * MiB DefaultWriteL0PauseTrigger = 12 DefaultWriteL0SlowdownTrigger = 8 + DefaultSuspendedWriteStatSize = 100 ) // Cacher is a caching algorithm. @@ -357,6 +358,11 @@ type Options struct { // // The default value is 8. WriteL0SlowdownTrigger int + + // SuspendedWriteStatSize defines the upper limit of the cached suspended write operation statistics. + // + // The default value is 100. + SuspendedWriteStatSize int } func (o *Options) GetAltFilters() []filter.Filter { @@ -609,6 +615,13 @@ func (o *Options) GetWriteL0SlowdownTrigger() int { return o.WriteL0SlowdownTrigger } +func (o *Options) GetSuspendedWriteStatSize() int { + if o == nil || o.SuspendedWriteStatSize == 0 { + return DefaultSuspendedWriteStatSize + } + return o.SuspendedWriteStatSize +} + // ReadOptions holds the optional parameters for 'read operation'. The // 'read operation' includes Get, Find and NewIterator. type ReadOptions struct { diff --git a/vendor/github.com/syndtr/goleveldb/leveldb/util/util.go b/vendor/github.com/syndtr/goleveldb/leveldb/util/util.go index f35976865b..80614afc58 100644 --- a/vendor/github.com/syndtr/goleveldb/leveldb/util/util.go +++ b/vendor/github.com/syndtr/goleveldb/leveldb/util/util.go @@ -19,7 +19,7 @@ var ( // Releaser is the interface that wraps the basic Release method. type Releaser interface { // Release releases associated resources. Release should always success - // and can be called multipe times without causing error. + // and can be called multiple times without causing error. Release() } diff --git a/vendor/vendor.json b/vendor/vendor.json index 26cc188ce2..b3128a5c62 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -358,10 +358,10 @@ "revisionTime": "2017-07-05T02:17:15Z" }, { - "checksumSHA1": "yHbyLpI/Meh0DGrmi8x6FrDxxUY=", + "checksumSHA1": "spMeORRgS1azN91KYqJgoxBmhMw=", "path": "github.com/syndtr/goleveldb/leveldb", - "revision": "b89cc31ef7977104127d34c1bd31ebd1a9db2199", - "revisionTime": "2017-07-25T06:48:36Z" + "revision": "3d8f4155ffd9029d32e5cf03853b58759b6e3710", + "revisionTime": "2017-12-09T15:37:43Z" }, { "checksumSHA1": "EKIow7XkgNdWvR/982ffIZxKG8Y=",