fix: use constants for primary/replica/standalone
Some checks failed
Go Tests / Run Tests (1.24.2) (push) Failing after 15m9s
Some checks failed
Go Tests / Run Tests (1.24.2) (push) Failing after 15m9s
This commit is contained in:
parent
fd3a19dc08
commit
86340fe7bc
@ -4,6 +4,12 @@ import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
const (
|
||||
ReplicationModeStandalone = "standalone"
|
||||
ReplicationModePrimary = "primary"
|
||||
ReplicationModeReplica = "replica"
|
||||
)
|
||||
|
||||
// ReplicationNodeInfo contains information about a node in the replication topology
|
||||
type ReplicationNodeInfo struct {
|
||||
Address string // Host:port of the node
|
||||
@ -41,24 +47,24 @@ func (m *Manager) GetNodeInfo() (string, string, []ReplicationNodeInfo, uint64,
|
||||
role = m.config.Mode
|
||||
|
||||
// Set primary address
|
||||
if role == "replica" {
|
||||
if role == ReplicationModeReplica {
|
||||
primaryAddr = m.config.PrimaryAddr
|
||||
} else if role == "primary" {
|
||||
} else if role == ReplicationModePrimary {
|
||||
primaryAddr = m.config.ListenAddr
|
||||
}
|
||||
|
||||
// Set last sequence
|
||||
if role == "primary" && m.primary != nil {
|
||||
if role == ReplicationModePrimary && m.primary != nil {
|
||||
lastSequence = m.primary.GetLastSequence()
|
||||
} else if role == "replica" && m.replica != nil {
|
||||
} else if role == ReplicationModeReplica && m.replica != nil {
|
||||
lastSequence = m.replica.GetLastAppliedSequence()
|
||||
}
|
||||
|
||||
// Gather replica information
|
||||
if role == "primary" && m.primary != nil {
|
||||
if role == ReplicationModePrimary && m.primary != nil {
|
||||
// Get replica sessions from primary
|
||||
replicas = m.primary.GetReplicaInfo()
|
||||
} else if role == "replica" {
|
||||
} else if role == ReplicationModeReplica {
|
||||
// Add self as a replica
|
||||
replicas = append(replicas, ReplicationNodeInfo{
|
||||
Address: m.config.ListenAddr,
|
||||
|
@ -23,7 +23,8 @@ type ManagerConfig struct {
|
||||
// Whether replication is enabled
|
||||
Enabled bool
|
||||
|
||||
// The replication mode: "primary", "replica", or "standalone"
|
||||
// The replication mode: ReplicationModePrimary, ReplicationModeReplica, or
|
||||
// ReplicationModeStandalone
|
||||
Mode string
|
||||
|
||||
// Address of the primary node (for replicas)
|
||||
@ -114,11 +115,11 @@ func (m *Manager) Start() error {
|
||||
log.Info("Starting replication in %s mode", m.config.Mode)
|
||||
|
||||
switch m.config.Mode {
|
||||
case "primary":
|
||||
case ReplicationModePrimary:
|
||||
return m.startPrimary()
|
||||
case "replica":
|
||||
case ReplicationModeReplica:
|
||||
return m.startReplica()
|
||||
case "standalone":
|
||||
case ReplicationModeStandalone:
|
||||
log.Info("Running in standalone mode (no replication)")
|
||||
return nil
|
||||
default:
|
||||
@ -180,13 +181,13 @@ func (m *Manager) Status() map[string]interface{} {
|
||||
|
||||
// Add mode-specific status
|
||||
switch m.config.Mode {
|
||||
case "primary":
|
||||
case ReplicationModePrimary:
|
||||
if m.primary != nil {
|
||||
// Add information about connected replicas, etc.
|
||||
status["listen_address"] = m.config.ListenAddr
|
||||
// TODO: Add more detailed primary status
|
||||
}
|
||||
case "replica":
|
||||
case ReplicationModeReplica:
|
||||
if m.replica != nil {
|
||||
status["primary_address"] = m.config.PrimaryAddr
|
||||
status["last_applied_sequence"] = m.lastApplied
|
||||
|
Loading…
Reference in New Issue
Block a user