From 29f6d8a9e698dafb6924237d7900bdd94138fffc Mon Sep 17 00:00:00 2001 From: Yicheng Qin Date: Wed, 17 Sep 2014 15:58:06 -0700 Subject: [PATCH] wal: add ErrFileNotFound and ErrIndexNotFound --- wal/wal.go | 17 +++++++++-------- wal/wal_test.go | 12 ++++++------ 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/wal/wal.go b/wal/wal.go index 4ddf97bc2..a8ddc0825 100644 --- a/wal/wal.go +++ b/wal/wal.go @@ -42,10 +42,11 @@ const ( ) var ( - ErrIDMismatch = errors.New("wal: unmatch id") - ErrNotFound = errors.New("wal: file is not found") - ErrCRCMismatch = errors.New("wal: crc mismatch") - crcTable = crc32.MakeTable(crc32.Castagnoli) + ErrIDMismatch = errors.New("wal: unmatch id") + ErrFileNotFound = errors.New("wal: file not found") + ErrIndexNotFound = errors.New("wal: index not found in file") + ErrCRCMismatch = errors.New("wal: crc mismatch") + crcTable = crc32.MakeTable(crc32.Castagnoli) ) // WAL is a logical repersentation of the stable storage. @@ -107,14 +108,14 @@ func OpenAtIndex(dirpath string, index int64) (*WAL, error) { } names = checkWalNames(names) if len(names) == 0 { - return nil, ErrNotFound + return nil, ErrFileNotFound } sort.Sort(sort.StringSlice(names)) nameIndex, ok := searchIndex(names, index) if !ok || !isValidSeq(names[nameIndex:]) { - return nil, ErrNotFound + return nil, ErrFileNotFound } // open the wal files for reading @@ -153,7 +154,7 @@ func OpenAtIndex(dirpath string, index int64) (*WAL, error) { } // ReadAll reads out all records of the current WAL. -// If it cannot read out the expected entry, it will return ErrNotFound. +// If it cannot read out the expected entry, it will return ErrIndexNotFound. // After ReadAll, the WAL will be ready for appending new records. func (w *WAL) ReadAll() (id int64, state raftpb.HardState, ents []raftpb.Entry, err error) { rec := &walpb.Record{} @@ -196,7 +197,7 @@ func (w *WAL) ReadAll() (id int64, state raftpb.HardState, ents []raftpb.Entry, } if w.enti < w.ri { state.Reset() - return 0, state, nil, ErrNotFound + return 0, state, nil, ErrIndexNotFound } // close decoder, disable reading diff --git a/wal/wal_test.go b/wal/wal_test.go index 2957da024..e4e3dc48f 100644 --- a/wal/wal_test.go +++ b/wal/wal_test.go @@ -111,8 +111,8 @@ func TestOpenAtIndex(t *testing.T) { t.Fatal(err) } defer os.RemoveAll(emptydir) - if _, err = OpenAtIndex(emptydir, 0); err != ErrNotFound { - t.Errorf("err = %v, want %v", err, ErrNotFound) + if _, err = OpenAtIndex(emptydir, 0); err != ErrFileNotFound { + t.Errorf("err = %v, want %v", err, ErrFileNotFound) } } @@ -315,8 +315,8 @@ func TestRecoverAfterCut(t *testing.T) { w, err := OpenAtIndex(p, int64(i)) if err != nil { if i <= 4 { - if err != ErrNotFound { - t.Errorf("#%d: err = %v, want %v", i, err, ErrNotFound) + if err != ErrFileNotFound { + t.Errorf("#%d: err = %v, want %v", i, err, ErrFileNotFound) } } else { t.Errorf("#%d: err = %v, want nil", i, err) @@ -360,8 +360,8 @@ func TestOpenAtUncommittedIndex(t *testing.T) { t.Fatal(err) } // commit up to index 0, try to read index 1 - if _, _, _, err := w.ReadAll(); err != ErrNotFound { - t.Errorf("err = %v, want %v", err, ErrNotFound) + if _, _, _, err := w.ReadAll(); err != ErrIndexNotFound { + t.Errorf("err = %v, want %v", err, ErrIndexNotFound) } w.Close() }