Open pfons opened 8 years ago
Causal consistency has to prevent other nodes from viewing the new messages if a previous message is not seen or lost. However, we can always add additional mechanisms that periodically check with other nodes whether they have received certain messages or not.
The implementation of Chapar is unable to handle packet drops because it currently assumes that the network layer is reliable. Unfortunately the UDP transport is not reliable and packet loss can occur.
This problem is particularly serious because a single packet dropped can prevent clients from reading all the subsequent updates made by clients on the source server.
For example, if the following execution occurs:
Because the message corresponding to request 1 was dropped and did not arrive at the other servers, client B will never be able to see the updated values of key2: