DependsOn: metadata, iterators
Create brand-new recovery mechanism for elliptics that is efficient, simple and easy to use.
This task is split into three separate tasks:
Historically metadata (timestamp) is stored in separate eblob or in different eblob column (type). Now we'll be storing metadata along with data. So for all new records we'll add fixed sized header before data itself that stores metadata.
Elliptics should accept 'start iterator' command that runs iterator for given key/timestamp range and returns metadata (possibly along with data).
Using new metadata and iterators we should be able to implement we recovery mechanism. It should be efficient and admin-friendly.
Recovery will proceed in following steps:
New recovery will be implemented as simple python package.
For quite a while now we have cool server-side scripting framework in elliptics called cocaine. Using it we can create more flexible recovery tool outside of elliptics main codebase.