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]

Reply via email to