diff --git a/changelog/18585.txt b/changelog/18585.txt new file mode 100644 index 000000000..a0832e2d4 --- /dev/null +++ b/changelog/18585.txt @@ -0,0 +1,3 @@ +```release-note:improvement +hcp/connectivity: Only update SCADA session metadata if status changes +``` diff --git a/vault/hcp_link/link.go b/vault/hcp_link/link.go index 9192603e9..ea1e9fc71 100644 --- a/vault/hcp_link/link.go +++ b/vault/hcp_link/link.go @@ -222,6 +222,8 @@ func (h *HCPLinkVault) start() error { // API. In addition, it checks replication status of Vault and sets that in // Scada provider metadata status func (h *HCPLinkVault) reportStatus() { + var currentNodeStatus string + ticker := time.NewTicker(SetLinkStatusCadence) defer ticker.Stop() for { @@ -249,7 +251,11 @@ func (h *HCPLinkVault) reportStatus() { nodeStatus = activeStatus } - h.linkConfig.SCADAProvider.UpdateMeta(map[string]string{metaDataNodeStatus: nodeStatus}) + // Only update SCADA session metadata if status has changed + if currentNodeStatus != nodeStatus { + currentNodeStatus = nodeStatus + h.linkConfig.SCADAProvider.UpdateMeta(map[string]string{metaDataNodeStatus: currentNodeStatus}) + } } } }