Operational Remediation Reports
Lazy Value Remediation Report
Apply at most one idempotent write and turn the accepted and skipped counts into a commit, skip, or retry remediation action.
Lazy Value Remediation Report
LazyValueRemediationReport.kt
fun main() {
val writes =
var accepted = 0
var skipped = 0
for (i in 1..writes) {
if (accepted == 0) {
accepted++
} else {
skipped++
}
}
val action = if (accepted == 0) {
"retry"
} else if (skipped > 0) {
"skip"
} else {
"commit"
}
println("writes=$writes accepted=$accepted skipped=$skipped $action")
}
fun main() {
val writes =
var accepted = 0
var skipped = 0
for (i in 1..writes) {
if (accepted == 0) {
accepted++
} else {
skipped++
}
}
val action = if (accepted == 0) {
"retry"
} else if (skipped > 0) {
"skip"
} else {
"commit"
}
println("writes=$writes accepted=$accepted skipped=$skipped $action")
}
fun main() {
val writes =
var accepted = 0
var skipped = 0
for (i in 1..writes) {
if (accepted == 0) {
accepted++
} else {
skipped++
}
}
val action = if (accepted == 0) {
"retry"
} else if (skipped > 0) {
"skip"
} else {
"commit"
}
println("writes=$writes accepted=$accepted skipped=$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 lazy initializer.