fix: use constants for primary/replica/standalone
Some checks failed
Go Tests / Run Tests (1.24.2) (push) Failing after 15m9s

This commit is contained in:
Jeremy Tregunna 2025-04-29 15:02:14 -06:00
parent fd3a19dc08
commit 86340fe7bc
2 changed files with 19 additions and 12 deletions

View File

@ -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,

View File

@ -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