firstCommittedSequenceNumber method

  1. @override
int? firstCommittedSequenceNumber()
override

Smallest commitId still retained in the log, or null if the log is empty. Pairs with lastCommittedSequenceNumber to expose the log's [floor, ceiling] to sync clients.

MUST return the smallest commitId still present in the underlying log (not a cached approximation). The value never decreases over time: entries leave the log only via update dedup and compaction, both of which can only raise the floor.

A sync client whose own commit state is below the floor cannot be incrementally caught up — the server no longer retains the entries the client would need — and must full-sync instead.

O(1) on every backend in this package.

Implementation

@override
int? firstCommittedSequenceNumber() => _minMax('MIN');