Add an \xff keyrange that is backed by the txnStateStore.

This commit is contained in:
Alex Miller 2019-04-25 16:57:39 -07:00
parent aaa53b9c6a
commit 797d431934
4 changed files with 42 additions and 1 deletions

View File

@ -624,3 +624,8 @@ std::pair<Key,Version> decodeHealthyZoneValue( ValueRef const& value) {
reader >> version;
return std::make_pair(zoneId, version);
}
const KeyRangeRef testOnlyTxnStateStorePrefixRange(
LiteralStringRef("\xff/TESTONLYtxnStateStore/"),
LiteralStringRef("\xff/TESTONLYtxnStateStore0")
);

View File

@ -282,4 +282,8 @@ extern const KeyRef healthyZoneKey;
const Value healthyZoneValue( StringRef const& zoneId, Version version );
std::pair<Key,Version> decodeHealthyZoneValue( ValueRef const& );
// All mutations done to this range are blindly copied into txnStateStore.
// Used to create artifically large txnStateStore instances in testing.
extern const KeyRangeRef testOnlyTxnStateStorePrefixRange;
#endif

View File

@ -182,7 +182,7 @@ static void applyMetadataMutations(UID const& dbgid, Arena &arena, VectorRef<Mut
}
}
} else if( m.param1 == databaseLockedKey || m.param1 == metadataVersionKey || m.param1 == mustContainSystemMutationsKey || m.param1.startsWith(applyMutationsBeginRange.begin) ||
m.param1.startsWith(applyMutationsAddPrefixRange.begin) || m.param1.startsWith(applyMutationsRemovePrefixRange.begin) || m.param1.startsWith(tagLocalityListPrefix) || m.param1.startsWith(serverTagHistoryPrefix) ) {
m.param1.startsWith(applyMutationsAddPrefixRange.begin) || m.param1.startsWith(applyMutationsRemovePrefixRange.begin) || m.param1.startsWith(tagLocalityListPrefix) || m.param1.startsWith(serverTagHistoryPrefix) || m.param1.startsWith(testOnlyTxnStateStorePrefixRange.begin) ) {
if(!initialCommit) txnStateStore->set(KeyValueRef(m.param1, m.param2));
}
else if (m.param1.startsWith(applyMutationsEndRange.begin)) {

View File

@ -0,0 +1,32 @@
testTitle=Clogged
testName=Cycle
transactionsPerSecond=2500.0
testDuration=10.0
expectedRate=0
keyPrefix=\xff/TESTONLYtxnStateStore/
testName=RandomClogging
testDuration=10.0
testName=Rollback
meanDelay=10.0
testDuration=10.0
testName=Attrition
machinesToKill=10
machinesToLeave=3
reboot=true
testDuration=10.0
testName=Attrition
machinesToKill=10
machinesToLeave=3
reboot=true
testDuration=10.0
testTitle=Unclogged
testName=Cycle
transactionsPerSecond=250.0
testDuration=10.0
expectedRate=0.80
keyPrefix=\xff/TESTONLYtxnStateStore/