func newBackend(cfg config.ServerConfig, hooks backend.Hooks) backend.Backend { … } // openSnapshotBackend renames a snapshot db to the current etcd db and opens it. func openSnapshotBackend(cfg config.ServerConfig, ss *snap.Snapshotter, snapshot raftpb.Snapshot, hooks backend.Hooks) (backend.Backend, error) { … } // openBackend returns a backend using the current etcd db. func openBackend(cfg config.ServerConfig, hooks backend.Hooks) backend.Backend { … } // recoverBackendSnapshot recovers the DB from a snapshot in case etcd crashes // before updating the backend db after persisting raft snapshot to disk, // violating the invariant snapshot.Metadata.Index < db.consistentIndex. In this // case, replace the db with the snapshot db sent by the leader. func recoverSnapshotBackend(cfg config.ServerConfig, oldbe backend.Backend, snapshot raftpb.Snapshot, beExist bool, hooks backend.Hooks) (backend.Backend, error) { … }