observe

abstract fun observe(userKey: Key, sequence: Long, document: Variant?)

The newest version of one user key in this segment.

One call per distinct key, not per version. A memtable can hold three writes of the same key and a compaction can carry several versions of one forward; counting all of them would make a document that was updated look like three documents.

document is null for a tombstone — the segment records that the key was deleted, which is a fact rather than an absence. It is a view over bytes that are valid only for the duration of this call; anything kept must be copied.