Failed

data class Failed(val reason: String, val insertDots: Set<Dot>, val offset: Long?, val endOffset: Long? = null, val cause: Throwable? = null) : AppendResult

The append failed. The ops are lost from the archive.

This is worse than it sounds, which is why this variant reports identities rather than a count: the live replica will subsequently window those records away, so they are gone from both sides. A consumer holding insertDots can defer windowing for them, re-feed them, or correlate the gap against a backend; a consumer holding failed++ can do none of those.

Constructors

Link copied to clipboard
constructor(reason: String, insertDots: Set<Dot>, offset: Long?, endOffset: Long? = null, cause: Throwable? = null)

Properties

Link copied to clipboard

the underlying failure, when there was one.

Link copied to clipboard

one past the last byte actually written before the failure, or null when nothing was written or the extent is unknown. Together with offset this is the damaged byte range.

Link copied to clipboard

the insert dots the lost frame would have covered — the identities.

Link copied to clipboard
val offset: Long?

the append offset the frame would have occupied, or null if the archive could not report one.

Link copied to clipboard

a human-readable description of what went wrong.