mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
raftsnap: support structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
This commit is contained in:
parent
c68f625353
commit
ce8348e3e0
@ -23,6 +23,8 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/coreos/etcd/pkg/fileutil"
|
"github.com/coreos/etcd/pkg/fileutil"
|
||||||
|
humanize "github.com/dustin/go-humanize"
|
||||||
|
"go.uber.org/zap"
|
||||||
)
|
)
|
||||||
|
|
||||||
var ErrNoDBSnapshot = errors.New("snap: snapshot file doesn't exist")
|
var ErrNoDBSnapshot = errors.New("snap: snapshot file doesn't exist")
|
||||||
@ -55,7 +57,15 @@ func (s *Snapshotter) SaveDBFrom(r io.Reader, id uint64) (int64, error) {
|
|||||||
return n, err
|
return n, err
|
||||||
}
|
}
|
||||||
|
|
||||||
plog.Infof("saved database snapshot to disk [total bytes: %d]", n)
|
if s.lg != nil {
|
||||||
|
s.lg.Info(
|
||||||
|
"saved database snapshot to disk",
|
||||||
|
zap.Int64("bytes", n),
|
||||||
|
zap.String("size", humanize.Bytes(uint64(n))),
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
plog.Infof("saved database snapshot to disk [total bytes: %d]", n)
|
||||||
|
}
|
||||||
|
|
||||||
return n, nil
|
return n, nil
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ import (
|
|||||||
"github.com/coreos/etcd/raftsnap/snappb"
|
"github.com/coreos/etcd/raftsnap/snappb"
|
||||||
|
|
||||||
"github.com/coreos/pkg/capnslog"
|
"github.com/coreos/pkg/capnslog"
|
||||||
|
"go.uber.org/zap"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -53,11 +54,13 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type Snapshotter struct {
|
type Snapshotter struct {
|
||||||
|
lg *zap.Logger
|
||||||
dir string
|
dir string
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(dir string) *Snapshotter {
|
func New(lg *zap.Logger, dir string) *Snapshotter {
|
||||||
return &Snapshotter{
|
return &Snapshotter{
|
||||||
|
lg: lg,
|
||||||
dir: dir,
|
dir: dir,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/coreos/etcd/raft/raftpb"
|
"github.com/coreos/etcd/raft/raftpb"
|
||||||
|
|
||||||
|
"go.uber.org/zap"
|
||||||
)
|
)
|
||||||
|
|
||||||
var testSnap = &raftpb.Snapshot{
|
var testSnap = &raftpb.Snapshot{
|
||||||
@ -44,7 +46,7 @@ func TestSaveAndLoad(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll(dir)
|
defer os.RemoveAll(dir)
|
||||||
ss := New(dir)
|
ss := New(zap.NewExample(), dir)
|
||||||
err = ss.save(testSnap)
|
err = ss.save(testSnap)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
@ -66,7 +68,7 @@ func TestBadCRC(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll(dir)
|
defer os.RemoveAll(dir)
|
||||||
ss := New(dir)
|
ss := New(zap.NewExample(), dir)
|
||||||
err = ss.save(testSnap)
|
err = ss.save(testSnap)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
@ -96,7 +98,7 @@ func TestFailback(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
ss := New(dir)
|
ss := New(zap.NewExample(), dir)
|
||||||
err = ss.save(testSnap)
|
err = ss.save(testSnap)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
@ -131,7 +133,7 @@ func TestSnapNames(t *testing.T) {
|
|||||||
f.Close()
|
f.Close()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ss := New(dir)
|
ss := New(zap.NewExample(), dir)
|
||||||
names, err := ss.snapNames()
|
names, err := ss.snapNames()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("err = %v, want nil", err)
|
t.Errorf("err = %v, want nil", err)
|
||||||
@ -152,7 +154,7 @@ func TestLoadNewestSnap(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll(dir)
|
defer os.RemoveAll(dir)
|
||||||
ss := New(dir)
|
ss := New(zap.NewExample(), dir)
|
||||||
err = ss.save(testSnap)
|
err = ss.save(testSnap)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
@ -181,7 +183,7 @@ func TestNoSnapshot(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll(dir)
|
defer os.RemoveAll(dir)
|
||||||
ss := New(dir)
|
ss := New(zap.NewExample(), dir)
|
||||||
_, err = ss.Load()
|
_, err = ss.Load()
|
||||||
if err != ErrNoSnapshot {
|
if err != ErrNoSnapshot {
|
||||||
t.Errorf("err = %v, want %v", err, ErrNoSnapshot)
|
t.Errorf("err = %v, want %v", err, ErrNoSnapshot)
|
||||||
@ -222,7 +224,7 @@ func TestAllSnapshotBroken(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
ss := New(dir)
|
ss := New(zap.NewExample(), dir)
|
||||||
_, err = ss.Load()
|
_, err = ss.Load()
|
||||||
if err != ErrNoSnapshot {
|
if err != ErrNoSnapshot {
|
||||||
t.Errorf("err = %v, want %v", err, ErrNoSnapshot)
|
t.Errorf("err = %v, want %v", err, ErrNoSnapshot)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user