Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packet drop prevents clients from reading updates #4

Open
pfons opened this issue Apr 22, 2016 · 1 comment
Open

Packet drop prevents clients from reading updates #4

pfons opened this issue Apr 22, 2016 · 1 comment

Comments

@pfons
Copy link

pfons commented Apr 22, 2016

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:

    Req 1: Client A: PUT key, “1”
<Req 1 is dropped>
    Req 2: Client A: PUT key2, “Request”

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:

    Req 3: Client B: GET key2 -> “Request”   // This result is never returned
@MohsenLesani
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants