Browse Source

Merge pull request #5650 from gyuho/wal_update

wal: use bytes.Equal, other minor updates
Gyu-Ho Lee 9 years ago
parent
commit
70a2add2b0
3 changed files with 8 additions and 9 deletions
  1. 2 2
      wal/wal.go
  2. 1 1
      wal/wal_bench_test.go
  3. 5 6
      wal/wal_test.go

+ 2 - 2
wal/wal.go

@@ -15,13 +15,13 @@
 package wal
 
 import (
+	"bytes"
 	"errors"
 	"fmt"
 	"hash/crc32"
 	"io"
 	"os"
 	"path"
-	"reflect"
 	"sync"
 	"time"
 
@@ -247,7 +247,7 @@ func (w *WAL) ReadAll() (metadata []byte, state raftpb.HardState, ents []raftpb.
 		case stateType:
 			state = mustUnmarshalState(rec.Data)
 		case metadataType:
-			if metadata != nil && !reflect.DeepEqual(metadata, rec.Data) {
+			if metadata != nil && !bytes.Equal(metadata, rec.Data) {
 				state.Reset()
 				return nil, state, nil, ErrMetadataConflict
 			}

+ 1 - 1
wal/wal_bench_test.go

@@ -46,7 +46,7 @@ func benchmarkWriteEntry(b *testing.B, size int, batch int) {
 		b.Fatalf("err = %v, want nil", err)
 	}
 	data := make([]byte, size)
-	for i := 0; i < len(data); i++ {
+	for i := 0; i < size; i++ {
 		data[i] = byte(i)
 	}
 	e := &raftpb.Entry{Data: data}

+ 5 - 6
wal/wal_test.go

@@ -78,7 +78,7 @@ func TestNew(t *testing.T) {
 		t.Fatalf("err = %v, want nil", err)
 	}
 	e.flush()
-	if !reflect.DeepEqual(gd, wb.Bytes()) {
+	if !bytes.Equal(gd, wb.Bytes()) {
 		t.Errorf("data = %v, want %v", gd, wb.Bytes())
 	}
 }
@@ -165,8 +165,7 @@ func TestCut(t *testing.T) {
 	defer w.Close()
 
 	state := raftpb.HardState{Term: 1}
-	// TODO(unihorn): remove this when cut can operate on an empty file
-	if err = w.Save(state, []raftpb.Entry{{}}); err != nil {
+	if err = w.Save(state, nil); err != nil {
 		t.Fatal(err)
 	}
 	if err = w.cut(); err != nil {
@@ -248,7 +247,7 @@ func TestRecover(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	if !reflect.DeepEqual(metadata, []byte("metadata")) {
+	if !bytes.Equal(metadata, []byte("metadata")) {
 		t.Errorf("metadata = %s, want %s", metadata, "metadata")
 	}
 	if !reflect.DeepEqual(entries, ents) {
@@ -375,7 +374,7 @@ func TestRecoverAfterCut(t *testing.T) {
 			t.Errorf("#%d: err = %v, want nil", i, err)
 			continue
 		}
-		if !reflect.DeepEqual(metadata, []byte("metadata")) {
+		if !bytes.Equal(metadata, []byte("metadata")) {
 			t.Errorf("#%d: metadata = %s, want %s", i, metadata, "metadata")
 		}
 		for j, e := range entries {
@@ -612,7 +611,7 @@ func TestRestartCreateWal(t *testing.T) {
 
 	// make temporary directory so it looks like initialization is interrupted
 	tmpdir := path.Clean(p) + ".tmp"
-	if err = os.Mkdir(p+".tmp", 0755); err != nil {
+	if err = os.Mkdir(tmpdir, fileutil.PrivateDirMode); err != nil {
 		t.Fatal(err)
 	}
 	if _, err = os.OpenFile(path.Join(tmpdir, "test"), os.O_WRONLY|os.O_CREATE, fileutil.PrivateFileMode); err != nil {