Operational Remediation Reports
Once Do Remediation Report
Apply at most one idempotent write and turn the accepted and skipped counts into a commit, skip, or retry remediation action.
Once Do Remediation Report
once_do_remediation_report.go
package main
import "fmt"
func main() {
var writes =
accepted := 0
skipped := 0
for i := 0; i < writes; i++ {
if accepted == 0 {
accepted++
} else {
skipped++
}
}
var action string
if accepted == 0 {
action = "retry"
} else if skipped > 0 {
action = "skip"
} else {
action = "commit"
}
fmt.Printf("writes=%d accepted=%d skipped=%d %s\n", writes, accepted, skipped, action)
}
package main
import "fmt"
func main() {
var writes =
accepted := 0
skipped := 0
for i := 0; i < writes; i++ {
if accepted == 0 {
accepted++
} else {
skipped++
}
}
var action string
if accepted == 0 {
action = "retry"
} else if skipped > 0 {
action = "skip"
} else {
action = "commit"
}
fmt.Printf("writes=%d accepted=%d skipped=%d %s\n", writes, accepted, skipped, action)
}
package main
import "fmt"
func main() {
var writes =
accepted := 0
skipped := 0
for i := 0; i < writes; i++ {
if accepted == 0 {
accepted++
} else {
skipped++
}
}
var action string
if accepted == 0 {
action = "retry"
} else if skipped > 0 {
action = "skip"
} else {
action = "commit"
}
fmt.Printf("writes=%d accepted=%d skipped=%d %s\n", writes, accepted, skipped, action)
}
idempotent write
Only the first write is accepted and later writes are counted as skipped, so the remediation action is reproducible without a live one-shot guard.