Open
Description
Summary
In order to have a proper first external replication support, some feature still needs to be implemented:
- Improve SCAN with more than one response
- Improve SCAN to support key which could be deleted
- Implement a command to get
binary key
from any key - Add an admin command which can do SET with specified timestamp
Details
- To make the SCAN more efficient, returning multiple values in a row seems obvious. The implementation will returns as much as possible key in a fixed amount of time, to not disturb other clients.
- If we do a SCAN from a key which was updated recently, in order to walk over the database, we could miss lot of data. Assume a key is overwritten, doing a SCAN from that key will ends with
No more data
since it's the last in the index entry. A better approach is giving a client a binary key which contains enough data to resume the walk from an exact point and not a variable position based on key name. - If we want to do a SCAN from any key (eg: in the middle of the set), we need to know the argument to give to SCAN to start from that key. A command which returns this id is needed.
- Since we want to add keys from another database (for replication) the timestamp should match the original timestamp, we need a way to specify the timestamp when doing a SET, only available to administrator right.