Understanding inter communication

Both of these numbers, in a sense, originate from the master, but at any point in time, the read version and commit version won’t be the same. The read version is the smallest number that is equal than or greater to any commit that has been acknowledged as committed by FDB. The commit version is a number that is greater than any previously granted commit version. The commit version should be greater than the read version, and this difference in versions represents the transactions that are “in flight” and FDB is working to commit but hasn’t fully durably committed yet.

One could just reply with the commit version when asked for a read version, but that would mandate waiting for every pipelined commit to be finished and applied on storage servers before a read could be done, which would be higher than necessary latency.

2 Likes