Browse Source

snapshot: move pb to snappb; remove clusterId

Xiang Li 11 years ago
parent
commit
9e77d180c4
5 changed files with 22 additions and 23 deletions
  1. 0 0
      snap/snappb/genproto.sh
  2. 2 2
      snap/snappb/snap.pb.go
  3. 1 1
      snap/snappb/snap.proto
  4. 13 13
      snap/snapshotter.go
  5. 6 7
      snap/snapshotter_test.go

+ 0 - 0
snap/genproto.sh → snap/snappb/genproto.sh


+ 2 - 2
snap/snap.pb.go → snap/snappb/snap.pb.go

@@ -3,7 +3,7 @@
 // DO NOT EDIT!
 
 /*
-	Package snap is a generated protocol buffer package.
+	Package snappb is a generated protocol buffer package.
 
 	It is generated from these files:
 		snap.proto
@@ -11,7 +11,7 @@
 	It has these top-level messages:
 		Snapshot
 */
-package snap
+package snappb
 
 import proto "github.com/coreos/etcd/third_party/code.google.com/p/gogoprotobuf/proto"
 import json "encoding/json"

+ 1 - 1
snap/snap.proto → snap/snappb/snap.proto

@@ -1,4 +1,4 @@
-package snap;
+package snappb;
 
 import "code.google.com/p/gogoprotobuf/gogoproto/gogo.proto";
 

+ 13 - 13
snap/snapshotter.go

@@ -1,7 +1,6 @@
 package snap
 
 import (
-	"encoding/json"
 	"errors"
 	"fmt"
 	"hash/crc32"
@@ -12,7 +11,8 @@ import (
 	"sort"
 	"strings"
 
-	"github.com/coreos/etcd/raft"
+	"github.com/coreos/etcd/raft/raftpb"
+	"github.com/coreos/etcd/snap/snappb"
 )
 
 const (
@@ -35,15 +35,15 @@ func New(dir string) *Snapshotter {
 	}
 }
 
-func (s *Snapshotter) Save(snapshot *raft.Snapshot) error {
-	fname := fmt.Sprintf("%016x-%016x-%016x%s", snapshot.ClusterId, snapshot.Term, snapshot.Index, snapSuffix)
-	// TODO(xiangli): make raft.Snapshot a protobuf type
-	b, err := json.Marshal(snapshot)
+func (s *Snapshotter) Save(snapshot *raftpb.Snapshot) error {
+	fname := fmt.Sprintf("%016x-%016x%s", snapshot.Term, snapshot.Index, snapSuffix)
+	b, err := snapshot.Marshal()
 	if err != nil {
 		panic(err)
 	}
+
 	crc := crc32.Update(0, crcTable, b)
-	snap := Snapshot{Crc: crc, Data: b}
+	snap := snappb.Snapshot{Crc: crc, Data: b}
 	d, err := snap.Marshal()
 	if err != nil {
 		return err
@@ -51,12 +51,12 @@ func (s *Snapshotter) Save(snapshot *raft.Snapshot) error {
 	return ioutil.WriteFile(path.Join(s.dir, fname), d, 0666)
 }
 
-func (s *Snapshotter) Load() (*raft.Snapshot, error) {
+func (s *Snapshotter) Load() (*raftpb.Snapshot, error) {
 	names, err := s.snapNames()
 	if err != nil {
 		return nil, err
 	}
-	var snap *raft.Snapshot
+	var snap *raftpb.Snapshot
 	for _, name := range names {
 		if snap, err = loadSnap(s.dir, name); err == nil {
 			break
@@ -65,7 +65,7 @@ func (s *Snapshotter) Load() (*raft.Snapshot, error) {
 	return snap, err
 }
 
-func loadSnap(dir, name string) (*raft.Snapshot, error) {
+func loadSnap(dir, name string) (*raftpb.Snapshot, error) {
 	var err error
 	var b []byte
 
@@ -82,7 +82,7 @@ func loadSnap(dir, name string) (*raft.Snapshot, error) {
 		return nil, err
 	}
 
-	var serializedSnap Snapshot
+	var serializedSnap snappb.Snapshot
 	if err = serializedSnap.Unmarshal(b); err != nil {
 		log.Printf("Corrupted snapshot file %v: %v", name, err)
 		return nil, err
@@ -94,8 +94,8 @@ func loadSnap(dir, name string) (*raft.Snapshot, error) {
 		return nil, err
 	}
 
-	var snap raft.Snapshot
-	if err = json.Unmarshal(serializedSnap.Data, &snap); err != nil {
+	var snap raftpb.Snapshot
+	if err = snap.Unmarshal(serializedSnap.Data); err != nil {
 		log.Printf("Corrupted snapshot file %v: %v", name, err)
 		return nil, err
 	}

+ 6 - 7
snap/snapshotter_test.go

@@ -9,15 +9,14 @@ import (
 	"reflect"
 	"testing"
 
-	"github.com/coreos/etcd/raft"
+	"github.com/coreos/etcd/raft/raftpb"
 )
 
-var testSnap = &raft.Snapshot{
-	ClusterId: 0xBEEF,
-	Data:      []byte("some snapshot"),
-	Nodes:     []int64{1, 2, 3},
-	Index:     1,
-	Term:      1,
+var testSnap = &raftpb.Snapshot{
+	Data:  []byte("some snapshot"),
+	Nodes: []int64{1, 2, 3},
+	Index: 1,
+	Term:  1,
 }
 
 func TestSaveAndLoad(t *testing.T) {