belliottsmith commented on PR #113: URL: https://github.com/apache/cassandra-accord/pull/113#issuecomment-2350923984
> I went and read that and missing is mentioned several times and the ways it can be used, but it's still pretty unclear what it contains. > Looking at TxnInfo.missing it seems like it contains dependencies that didn't end up in the dependency set of this txn probably because they were never discovered when dependencies for the transaction were collected or just haven't been added yet? > What are the cases where that occurs? `TxnId` is just a timestamp proposed by a coordinator. It is not guaranteed that transactions with a higher `TxnId` (or executeAt) will witness them, only that if they do not then the transaction will be proposed a higher `executeAt` (or be invalidated). So, it is quite "normal" for something to be missing, only that we expect this to be self-limiting and uncommon (any TxnId/executeAt should expect to see _most_ lower `TxnId`). This is just an encoding optimisation, so we do not reproduce potentially large deps collections (that grow with the number of commands in flight), and instead encode only discrepancies from the ideal. The idea is that this allows us to easily derive the _actual_ `Deps` without encoding them all. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

