fix: validate CORS state in replication status

Count only valid live CORS states in per-site summaries. Treat baselines and tombstones as absent, and diagnose malformed payloads or missing source timestamps.\n\nRefs: #77

Signed-off-by: Feng Ruohang <rh@vonng.com>
This commit is contained in:
Feng Ruohang
2026-09-01 23:16:04 +08:00
parent 938603458d
commit f3438b2602
3 changed files with 49 additions and 21 deletions
+6 -7
View File
@@ -3557,13 +3557,12 @@ func (c *SiteReplicationSys) siteReplicationStatus(ctx context.Context, objAPI O
logInvalid("sse", err)
}
}
if s.CorsConfig != nil {
if _, err := decodeCORSReplicationPayload(s.CorsConfig); err == nil {
validCorsCfg[i] = true
corsCfgCount++
} else {
logInvalid("cors", err)
}
corsState, err := corsReplicationStateFromInfo(s.SRBucketInfo)
if err != nil {
logInvalid("cors", err)
} else if corsState.kind == corsReplicationLive {
validCorsCfg[i] = true
corsCfgCount++
}
ss, ok := info.StatsSummary[s.DeploymentID]
if !ok {