func dump5(dataDir string) ([]raftpb.Entry, error) { wd5 := walDir5(dataDir) if !wal.Exist(wd5) { return nil, fmt.Errorf("No wal exists at %s", wd5) } w, err := wal.Open(wd5, walpb.Snapshot{}) if err != nil { return nil, err } defer w.Close() _, _, ents, err := w.ReadAll() return ents, err }
func readWAL(waldir string, snap walpb.Snapshot) (w *wal.WAL, id, cid types.ID, st raftpb.HardState, ents []raftpb.Entry) { var err error if w, err = wal.Open(waldir, snap); err != nil { log.Fatalf("etcdserver: open wal error: %v", err) } var wmetadata []byte if wmetadata, st, ents, err = w.ReadAll(); err != nil { log.Fatalf("etcdserver: read wal error: %v", err) } var metadata pb.Metadata pbutil.MustUnmarshal(&metadata, wmetadata) id = types.ID(metadata.NodeID) cid = types.ID(metadata.ClusterID) return }