I have two questions regarding cluster migration of record stores.
-
Is there some way in which the record stores can be put into “maintenance” mode prior to performing cluster migration?
-
As I was reading
SplitHelper
code, I realized every record is stored with a versionstamp at -1 entry. In the record layer paper, the term “incarnation” is mentioned when describingVERSION
index.
I was looking at the record store header protobuf definition.
message DataStoreInfo {
optional int32 formatVersion = 1;
optional int32 metaDataversion = 2;
optional int32 userVersion = 3;
optional KeyExpression record_count_key = 4;
optional uint64 lastUpdateTime = 5;
optional bool omit_unsplit_record_suffix = 6;
optional bool cacheable = 7;
// Compatible with map<string, bytes> on the wire
message UserFieldEntry {
optional string key = 1;
optional bytes value = 2;
}
repeated UserFieldEntry user_field = 8;
}
I was unable to figure out where the “incarnation” and possibly “maintenance state” information is stored?
Is it something that is maintained in UserFieldEntry
outside of RL?