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

API: New "read" that checks checksum provided by client #607

Open
shaitan opened this issue May 18, 2015 · 1 comment
Open

API: New "read" that checks checksum provided by client #607

shaitan opened this issue May 18, 2015 · 1 comment

Comments

@shaitan
Copy link
Member

shaitan commented May 18, 2015

Problem

When client reads data by chunks it can get useless garbage in case if:

  1. the key was overwritten in the middle of the read
  2. replica used for reading became unavailable and client was switched to inconsistent replica

New features

  • Add ability of reading to return checksum of the record from footer.
  • Add new "read" that takes checksum and checks it before read.

It allows to escape sending garbage to clients and makes switching between replicas safer.

@bioothod
Copy link
Member

Please also add comparison with timestamp and user flags, i.e. if client-provided timestamp/user-flags doesn't match one on the disk, return error.

Timestamp comparison can include relation operator, for example, if on-disk timestamp is newer than that in client request, read returns special error.

@shaitan shaitan changed the title New "read" that checks checksum provided by client API: New "read" that checks checksum provided by client May 18, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants