snapshot: move pb to snappb; remove clusterId

This commit is contained in:
Xiang Li 2014-09-03 16:33:41 -07:00
parent 3ee83bc194
commit 9e77d180c4
5 changed files with 22 additions and 23 deletions

View File

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

View File

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

View File

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

View File

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