Skip to content
New issue

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

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

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

2 participants