fix(ssf): 恢复健康连接生命周期
连续两次有效 Verification 将 Stream 状态恢复为 push_healthy 时,同一事务同步把 degraded 连接恢复为 enabled、清除陈旧错误并推进版本,避免管理页永久误报降级。\n\n验证:真实 PostgreSQL 集成测试;pnpm test;pnpm lint;pnpm build;真实 Transmitter/Introspection 故障与恢复演练。
This commit is contained in:
@@ -210,6 +210,18 @@ WHERE issuer=$1 AND audience=$2 AND stream_id=$3::uuid
|
||||
WHERE issuer=$1 AND audience=$2 AND state_hash=$3`, issuer, audience, stateHash); err != nil {
|
||||
return false, err
|
||||
}
|
||||
if _, err := tx.Exec(ctx, `
|
||||
UPDATE gateway_security_event_connections connection
|
||||
SET lifecycle_status='enabled',last_error_category=NULL,version=version+1,updated_at=now()
|
||||
WHERE connection.transmitter_issuer=$1 AND connection.audience=$2
|
||||
AND connection.lifecycle_status='degraded'
|
||||
AND EXISTS(
|
||||
SELECT 1 FROM gateway_security_event_stream_state state
|
||||
WHERE state.issuer=$1 AND state.audience=$2
|
||||
AND state.mode='push_healthy' AND state.stream_status='enabled'
|
||||
)`, issuer, audience); err != nil {
|
||||
return false, err
|
||||
}
|
||||
return true, tx.Commit(ctx)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user