Documentation
¶
Index ¶
- Constants
- func CloneRaftPointers(src map[uint64]RaftLogPointer) map[uint64]RaftLogPointer
- func CloneRegionMetas(src map[uint64]RegionMeta) map[uint64]RegionMeta
- type PeerMeta
- type RaftLogPointer
- type RegionEpoch
- type RegionMeta
- type RegionState
- type Store
- func (s *Store) Close() error
- func (s *Store) DeleteRegion(regionID uint64) error
- func (s *Store) Empty() bool
- func (s *Store) RaftPointer(groupID uint64) (RaftLogPointer, bool)
- func (s *Store) RaftPointerSnapshot() map[uint64]RaftLogPointer
- func (s *Store) SaveRaftPointer(ptr RaftLogPointer) error
- func (s *Store) SaveRegion(meta RegionMeta) error
- func (s *Store) Snapshot() map[uint64]RegionMeta
- func (s *Store) WorkDir() string
Constants ¶
const StateFileName = "RAFTSTORE_STATE.json"
StateFileName is the durable local peer catalog file used by one store.
Variables ¶
This section is empty.
Functions ¶
func CloneRaftPointers ¶
func CloneRaftPointers(src map[uint64]RaftLogPointer) map[uint64]RaftLogPointer
CloneRaftPointers returns a detached copy of the provided raft pointer map.
func CloneRegionMetas ¶
func CloneRegionMetas(src map[uint64]RegionMeta) map[uint64]RegionMeta
CloneRegionMetas returns a deep copy of the provided region map.
Types ¶
type RaftLogPointer ¶
type RaftLogPointer struct {
GroupID uint64 `json:"group_id"`
Segment uint32 `json:"segment"`
Offset uint64 `json:"offset"`
AppliedIndex uint64 `json:"applied_index"`
AppliedTerm uint64 `json:"applied_term"`
Committed uint64 `json:"committed"`
SnapshotIndex uint64 `json:"snapshot_index"`
SnapshotTerm uint64 `json:"snapshot_term"`
TruncatedIndex uint64 `json:"truncated_index"`
TruncatedTerm uint64 `json:"truncated_term"`
SegmentIndex uint64 `json:"segment_index"`
TruncatedOffset uint64 `json:"truncated_offset"`
}
RaftLogPointer tracks local WAL progress for one raft group.
It is store-local recovery metadata used by raft replay, WAL GC, and diagnostics. It is not cluster authority.
type RegionEpoch ¶
type RegionEpoch struct {
Version uint64 `json:"version"`
ConfVersion uint64 `json:"conf_version"`
}
RegionEpoch tracks metadata versioning for one region.
type RegionMeta ¶
type RegionMeta struct {
ID uint64 `json:"id"`
StartKey []byte `json:"start_key,omitempty"`
EndKey []byte `json:"end_key,omitempty"`
Epoch RegionEpoch `json:"epoch"`
Peers []PeerMeta `json:"peers,omitempty"`
State RegionState `json:"state"`
}
RegionMeta captures region key range and peer membership.
This is shared by raftstore local recovery state and PD control-plane state. It is not part of the single-node storage manifest.
func CloneRegionMeta ¶
func CloneRegionMeta(meta RegionMeta) RegionMeta
CloneRegionMeta returns a deep copy of the provided region metadata.
func CloneRegionMetaPtr ¶
func CloneRegionMetaPtr(meta *RegionMeta) *RegionMeta
CloneRegionMetaPtr returns a detached copy of one region metadata pointer.
type RegionState ¶
type RegionState uint8
RegionState enumerates the local lifecycle state of one region replica.
const ( RegionStateNew RegionState = iota RegionStateRunning RegionStateRemoving RegionStateTombstone )
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store persists store-local region metadata used only for local recovery. It is not cluster authority and must not be treated as routing truth.
func OpenLocalStore ¶
OpenLocalStore opens the local raftstore metadata store in workdir.
func (*Store) DeleteRegion ¶
DeleteRegion removes one region metadata entry from the local catalog.
func (*Store) RaftPointer ¶
func (s *Store) RaftPointer(groupID uint64) (RaftLogPointer, bool)
RaftPointer returns the last persisted local WAL pointer for one raft group.
func (*Store) RaftPointerSnapshot ¶
func (s *Store) RaftPointerSnapshot() map[uint64]RaftLogPointer
RaftPointerSnapshot returns a copy of all persisted local WAL pointers.
func (*Store) SaveRaftPointer ¶
func (s *Store) SaveRaftPointer(ptr RaftLogPointer) error
SaveRaftPointer persists the local WAL checkpoint for one raft group.
func (*Store) SaveRegion ¶
func (s *Store) SaveRegion(meta RegionMeta) error
SaveRegion persists one local region metadata update.
func (*Store) Snapshot ¶
func (s *Store) Snapshot() map[uint64]RegionMeta
Snapshot returns a deep copy of the local peer catalog.