proto: add HashKV protobuf
@@ -109,6 +109,9 @@ service Maintenance {
// are ongoing transactions.
rpc Hash(HashRequest) returns (HashResponse) {}
+ // HashKV computes the hash of all MVCC keys up to a given revision.
+ rpc HashKV(HashKVRequest) returns (HashKVResponse) {}
+
// Snapshot sends a snapshot of the entire backend from a member over a stream to a client.
rpc Snapshot(SnapshotRequest) returns (stream SnapshotResponse) {}
@@ -422,6 +425,19 @@ message HashResponse {
uint32 hash = 2;
}
+message HashKVRequest {
+ // revision is the key-value store revision for the hash operation.
+ int64 revision = 1;
+}
+
+message HashKVResponse {
+ ResponseHeader header = 1;
+ // hash is the hash value computed from the responding member's MVCC keys up to a given revision.
+ uint32 hash = 2;
+ // compact_revision is the compacted revision of key-value store when hash begins.
+ int64 compact_revision = 3;
+}
+
message SnapshotRequest {
}
