Skip to content

Commit

Permalink
build(deps): bump github.com/cockroachdb/pebble from v0.0.0-202307242…
Browse files Browse the repository at this point in the history
…34444-7ef7553fd9e1 to v0.0.0-20231114155657-6682fd5e8763 (#634)

### What this PR does

Bump github.com/cockroachdb/pebble from v0.0.0-20230724234444-7ef7553fd9e1 to v0.0.0-20231114155657-6682fd5e8763.
  • Loading branch information
ijsong authored Jan 2, 2024
2 parents 429037b + 73bc5f6 commit ee08994
Show file tree
Hide file tree
Showing 260 changed files with 43,242 additions and 8,197 deletions.
16 changes: 8 additions & 8 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/kakao/varlog
go 1.21

require (
github.com/cockroachdb/pebble v0.0.0-20230724234444-7ef7553fd9e1
github.com/cockroachdb/pebble v0.0.0-20231114155657-6682fd5e8763
github.com/docker/go-units v0.5.0
github.com/gogo/protobuf v1.3.2
github.com/gogo/status v1.1.1
Expand All @@ -30,7 +30,7 @@ require (
go.uber.org/goleak v1.3.0
go.uber.org/multierr v1.11.0
go.uber.org/zap v1.26.0
golang.org/x/exp v0.0.0-20221114191408-850992195362
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5
golang.org/x/sync v0.5.0
golang.org/x/sys v0.15.0
Expand All @@ -48,25 +48,25 @@ require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/cockroachdb/errors v1.8.1 // indirect
github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f // indirect
github.com/cockroachdb/redact v1.0.8 // indirect
github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2 // indirect
github.com/cockroachdb/tokenbucket v0.0.0-20230613231145-182959a1fad6 // indirect
github.com/cockroachdb/errors v1.11.1 // indirect
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
github.com/cockroachdb/redact v1.1.5 // indirect
github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect
github.com/coreos/go-semver v0.2.0 // indirect
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7 // indirect
github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dustin/go-humanize v1.0.0 // indirect
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
github.com/getsentry/sentry-go v0.18.0 // indirect
github.com/go-logr/logr v1.3.0 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/go-openapi/jsonpointer v0.19.6 // indirect
github.com/go-openapi/jsonreference v0.20.2 // indirect
github.com/go-openapi/swag v0.22.3 // indirect
github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a // indirect
github.com/gogo/googleapis v1.4.1 // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/google/gnostic-models v0.6.8 // indirect
github.com/google/gofuzz v1.2.0 // indirect
Expand Down
175 changes: 18 additions & 157 deletions go.sum

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions internal/storage/logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ func (l *logAdaptor) Infof(format string, args ...interface{}) {
l.logger.Infof(format, args...)
}

func (l *logAdaptor) Errorf(format string, args ...interface{}) {
l.logger.Errorf(format, args...)
}

func (l *logAdaptor) Fatalf(format string, args ...interface{}) {
l.logger.Fatalf(format, args...)
}
32 changes: 23 additions & 9 deletions internal/storage/recovery_points.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,10 @@ func (s *Storage) ReadRecoveryPoints() (rp RecoveryPoints, err error) {
if err != nil {
return
}
rp.CommittedLogEntry.First, rp.CommittedLogEntry.Last = s.readLogEntryBoundaries()
rp.CommittedLogEntry.First, rp.CommittedLogEntry.Last, err = s.readLogEntryBoundaries()
if err != nil {
return
}

uncommittedBegin := types.MinLLSN
if cc := rp.LastCommitContext; cc != nil {
Expand All @@ -62,31 +65,39 @@ func (s *Storage) readLastCommitContext() (*CommitContext, error) {
return &cc, nil
}

func (s *Storage) readLogEntryBoundaries() (first, last *varlogpb.LogSequenceNumber) {
dit := s.dataDB.NewIter(&pebble.IterOptions{
func (s *Storage) readLogEntryBoundaries() (first, last *varlogpb.LogSequenceNumber, err error) {
dit, err := s.dataDB.NewIter(&pebble.IterOptions{
LowerBound: []byte{dataKeyPrefix},
UpperBound: []byte{dataKeySentinelPrefix},
})
cit := s.commitDB.NewIter(&pebble.IterOptions{
if err != nil {
return
}
defer func() {
_ = dit.Close()
}()
cit, err := s.commitDB.NewIter(&pebble.IterOptions{
LowerBound: []byte{commitKeyPrefix},
UpperBound: []byte{commitKeySentinelPrefix},
})
if err != nil {
return
}
defer func() {
_ = dit.Close()
_ = cit.Close()
}()

first = s.getFirstLogSequenceNumber(cit, dit)
if first == nil {
return nil, nil
return nil, nil, nil
}

last = s.getLastLogSequenceNumber(cit, dit, first)
if last == nil {
s.logger.Warn("the last must exist but could not be found.", zap.Stringer("first", first))
return nil, nil
return nil, nil, nil
}
return first, last
return first, last, nil
}

func (s *Storage) getFirstLogSequenceNumber(cit, dit *pebble.Iterator) *varlogpb.LogSequenceNumber {
Expand Down Expand Up @@ -173,10 +184,13 @@ func (s *Storage) getLastLogSequenceNumber(cit, dit *pebble.Iterator, first *var
func (s *Storage) readUncommittedLogEntryBoundaries(uncommittedBegin types.LLSN) (begin, end types.LLSN, err error) {
dk := make([]byte, dataKeyLength)
dk = encodeDataKeyInternal(uncommittedBegin, dk)
it := s.dataDB.NewIter(&pebble.IterOptions{
it, err := s.dataDB.NewIter(&pebble.IterOptions{
LowerBound: dk,
UpperBound: []byte{dataKeySentinelPrefix},
})
if err != nil {
return types.InvalidLLSN, types.InvalidLLSN, err
}
defer func() {
_ = it.Close()
}()
Expand Down
6 changes: 4 additions & 2 deletions internal/storage/scanner.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,10 @@ func (s *Scanner) Next() bool {
return s.it.Next()
}

func (s *Scanner) Close() error {
err := s.it.Close()
func (s *Scanner) Close() (err error) {
if s.it != nil {
err = s.it.Close()
}
s.release()
return err
}
Expand Down
31 changes: 22 additions & 9 deletions internal/storage/storage.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ func (s *Storage) newDB(path string, cfg *dbConfig) (*pebble.DB, error) {
L0StopWritesThreshold: cfg.l0StopWritesThreshold,
LBaseMaxBytes: cfg.lbaseMaxBytes,
MaxOpenFiles: cfg.maxOpenFiles,
MemTableSize: cfg.memTableSize,
MemTableSize: uint64(cfg.memTableSize),
MemTableStopWritesThreshold: cfg.memTableStopWritesThreshold,
MaxConcurrentCompactions: func() int { return cfg.maxConcurrentCompaction },
Levels: make([]pebble.LevelOptions, 7),
Expand Down Expand Up @@ -181,22 +181,26 @@ func (s *Storage) NewAppendBatch() *AppendBatch {
}

// NewScanner creates a scanner for the given key range.
func (s *Storage) NewScanner(opts ...ScanOption) *Scanner {
scanner := newScanner()
func (s *Storage) NewScanner(opts ...ScanOption) (scanner *Scanner, err error) {
scanner = newScanner()
scanner.scanConfig = newScanConfig(opts)
scanner.stg = s
itOpt := &pebble.IterOptions{}
if scanner.withGLSN {
itOpt.LowerBound = encodeCommitKeyInternal(scanner.begin.GLSN, scanner.cks.lower)
itOpt.UpperBound = encodeCommitKeyInternal(scanner.end.GLSN, scanner.cks.upper)
scanner.it = s.commitDB.NewIter(itOpt)
scanner.it, err = s.commitDB.NewIter(itOpt)
} else {
itOpt.LowerBound = encodeDataKeyInternal(scanner.begin.LLSN, scanner.dks.lower)
itOpt.UpperBound = encodeDataKeyInternal(scanner.end.LLSN, scanner.dks.upper)
scanner.it = s.dataDB.NewIter(itOpt)
scanner.it, err = s.dataDB.NewIter(itOpt)
}
if err != nil {
_ = scanner.Close()
return nil, err
}
_ = scanner.it.First()
return scanner
return scanner, nil
}

// Read reads the log entry at the glsn.
Expand All @@ -209,7 +213,10 @@ func (s *Storage) Read(opts ...ReadOption) (le varlogpb.LogEntry, err error) {
}

func (s *Storage) readGLSN(glsn types.GLSN) (le varlogpb.LogEntry, err error) {
scanner := s.NewScanner(WithGLSN(glsn, glsn+1))
scanner, err := s.NewScanner(WithGLSN(glsn, glsn+1))
if err != nil {
return
}
defer func() {
_ = scanner.Close()
}()
Expand All @@ -220,10 +227,13 @@ func (s *Storage) readGLSN(glsn types.GLSN) (le varlogpb.LogEntry, err error) {
}

func (s *Storage) readLLSN(llsn types.LLSN) (le varlogpb.LogEntry, err error) {
it := s.commitDB.NewIter(&pebble.IterOptions{
it, err := s.commitDB.NewIter(&pebble.IterOptions{
LowerBound: []byte{commitKeyPrefix},
UpperBound: []byte{commitKeySentinelPrefix},
})
if err != nil {
return
}
defer func() {
_ = it.Close()
}()
Expand Down Expand Up @@ -307,10 +317,13 @@ func (s *Storage) findLTE(glsn types.GLSN) (lem varlogpb.LogEntryMeta, err error
upper = []byte{commitKeySentinelPrefix}
}

it := s.commitDB.NewIter(&pebble.IterOptions{
it, err := s.commitDB.NewIter(&pebble.IterOptions{
LowerBound: []byte{commitKeyPrefix},
UpperBound: upper,
})
if err != nil {
return
}
defer func() {
_ = it.Close()
}()
Expand Down
Loading

0 comments on commit ee08994

Please sign in to comment.