mirror of
https://github.com/apple/foundationdb.git
synced 2025-05-28 02:48:09 +08:00
Convert GetRangeLimits() -> TOO_MANY + ASSERT().
This commit is contained in:
parent
db071256db
commit
1439de37b5
@ -2233,7 +2233,8 @@ ACTOR Future<Standalone<VectorRef<const char*>>> getAddressesForKeyActor(Key key
|
||||
// If key >= allKeys.end, then getRange will return a kv-pair with an empty value. This will result in our serverInterfaces vector being empty, which will cause us to return an empty addresses list.
|
||||
|
||||
state Key ksKey = keyServersKey(key);
|
||||
state Standalone<RangeResultRef> serverTagResult = wait( getRange(cx, ver, lastLessOrEqual(serverTagKeys.begin), firstGreaterThan(serverTagKeys.end), GetRangeLimits(), false, info ) );
|
||||
state Standalone<RangeResultRef> serverTagResult = wait( getRange(cx, ver, lastLessOrEqual(serverTagKeys.begin), firstGreaterThan(serverTagKeys.end), GetRangeLimits(CLIENT_KNOBS->TOO_MANY), false, info ) );
|
||||
ASSERT( !serverTagResult.more && serverTagResult.size() < CLIENT_KNOBS->TOO_MANY );
|
||||
Future<Standalone<RangeResultRef>> futureServerUids = getRange(cx, ver, lastLessOrEqual(ksKey), firstGreaterThan(ksKey), GetRangeLimits(1), false, info);
|
||||
Standalone<RangeResultRef> serverUids = wait( futureServerUids );
|
||||
|
||||
|
@ -474,7 +474,8 @@ ACTOR Future<Reference<InitialDataDistribution>> getInitialDataDistribution( Dat
|
||||
try {
|
||||
tr.setOption(FDBTransactionOptions::PRIORITY_SYSTEM_IMMEDIATE);
|
||||
wait(checkMoveKeysLockReadOnly(&tr, moveKeysLock));
|
||||
state Standalone<RangeResultRef> UIDtoTagMap = wait(tr.getRange(serverTagKeys, GetRangeLimits()));
|
||||
state Standalone<RangeResultRef> UIDtoTagMap = wait(tr.getRange(serverTagKeys, CLIENT_KNOBS->TOO_MANY));
|
||||
ASSERT( !UIDtoTagMap.more && UIDtoTagMap.size() < CLIENT_KNOBS->TOO_MANY );
|
||||
Standalone<RangeResultRef> keyServers = wait(krmGetRanges(&tr, keyServersPrefix, KeyRangeRef(beginKey, allKeys.end), SERVER_KNOBS->MOVE_KEYS_KRM_LIMIT, SERVER_KNOBS->MOVE_KEYS_KRM_LIMIT_BYTES));
|
||||
succeeded = true;
|
||||
|
||||
|
@ -546,7 +546,8 @@ struct DDQueueData {
|
||||
servers.clear();
|
||||
tr.setOption( FDBTransactionOptions::PRIORITY_SYSTEM_IMMEDIATE );
|
||||
try {
|
||||
state Standalone<RangeResultRef> UIDtoTagMap = wait( tr.getRange( serverTagKeys, GetRangeLimits() ) );
|
||||
state Standalone<RangeResultRef> UIDtoTagMap = wait( tr.getRange( serverTagKeys, CLIENT_KNOBS->TOO_MANY ) );
|
||||
ASSERT( !UIDtoTagMap.more && UIDtoTagMap.size() < CLIENT_KNOBS->TOO_MANY );
|
||||
Standalone<RangeResultRef> keyServersEntries = wait(
|
||||
tr.getRange( lastLessOrEqual( keyServersKey( input.keys.begin ) ),
|
||||
firstGreaterOrEqual( keyServersKey( input.keys.end ) ), SERVER_KNOBS->DD_QUEUE_MAX_KEY_SERVERS ) );
|
||||
|
@ -211,7 +211,8 @@ ACTOR Future<vector<UID>> addReadWriteDestinations(KeyRangeRef shard, vector<Sto
|
||||
}
|
||||
|
||||
ACTOR Future<vector<vector<UID>>> additionalSources(Standalone<RangeResultRef> shards, Transaction* tr, int desiredHealthy, int maxServers) {
|
||||
state Standalone<RangeResultRef> UIDtoTagMap = wait( tr->getRange(serverTagKeys, GetRangeLimits()) );
|
||||
state Standalone<RangeResultRef> UIDtoTagMap = wait( tr->getRange(serverTagKeys, CLIENT_KNOBS->TOO_MANY) );
|
||||
ASSERT( !UIDtoTagMap.more && UIDtoTagMap.size() < CLIENT_KNOBS->TOO_MANY );
|
||||
vector<Future<Optional<Value>>> serverListEntries;
|
||||
std::set<UID> fetching;
|
||||
for(int i = 0; i < shards.size() - 1; ++i) {
|
||||
@ -357,7 +358,8 @@ ACTOR Future<Void> startMoveKeys( Database occ, KeyRange keys, vector<UID> serve
|
||||
// printf("'%s': '%s'\n", old[i].key.toString().c_str(), old[i].value.toString().c_str());
|
||||
|
||||
//Check that enough servers for each shard are in the correct state
|
||||
state Standalone<RangeResultRef> UIDtoTagMap = wait(tr.getRange(serverTagKeys, GetRangeLimits()));
|
||||
state Standalone<RangeResultRef> UIDtoTagMap = wait(tr.getRange(serverTagKeys, CLIENT_KNOBS->TOO_MANY));
|
||||
ASSERT( !UIDtoTagMap.more && UIDtoTagMap.size() < CLIENT_KNOBS->TOO_MANY );
|
||||
vector<vector<UID>> addAsSource = wait(additionalSources(old, &tr, servers.size(), SERVER_KNOBS->MAX_ADDED_SOURCES_MULTIPLIER*servers.size()));
|
||||
|
||||
// For each intersecting range, update keyServers[range] dest to be servers and clear existing dest servers from serverKeys
|
||||
@ -557,7 +559,8 @@ ACTOR Future<Void> finishMoveKeys( Database occ, KeyRange keys, vector<UID> dest
|
||||
wait( checkMoveKeysLock(&tr, lock) );
|
||||
|
||||
state KeyRange currentKeys = KeyRangeRef(begin, keys.end);
|
||||
state Standalone<RangeResultRef> UIDtoTagMap = wait( tr.getRange(serverTagKeys, GetRangeLimits()) );
|
||||
state Standalone<RangeResultRef> UIDtoTagMap = wait( tr.getRange(serverTagKeys, CLIENT_KNOBS->TOO_MANY) );
|
||||
ASSERT( !UIDtoTagMap.more && UIDtoTagMap.size() < CLIENT_KNOBS->TOO_MANY );
|
||||
state Standalone<RangeResultRef> keyServers = wait( krmGetRanges( &tr, keyServersPrefix, currentKeys, SERVER_KNOBS->MOVE_KEYS_KRM_LIMIT, SERVER_KNOBS->MOVE_KEYS_KRM_LIMIT_BYTES ) );
|
||||
|
||||
//Determine the last processed key (which will be the beginning for the next iteration)
|
||||
@ -977,7 +980,8 @@ ACTOR Future<Void> removeKeysFromFailedServer(Database cx, UID serverID, MoveKey
|
||||
// Get all values of keyServers and remove serverID from every occurrence
|
||||
// Very inefficient going over every entry in keyServers
|
||||
// No shortcut because keyServers and serverKeys are not guaranteed same shard boundaries
|
||||
state Standalone<RangeResultRef> UIDtoTagMap = wait( tr.getRange(serverTagKeys, GetRangeLimits()) );
|
||||
state Standalone<RangeResultRef> UIDtoTagMap = wait( tr.getRange(serverTagKeys, CLIENT_KNOBS->TOO_MANY) );
|
||||
ASSERT( !UIDtoTagMap.more && UIDtoTagMap.size() < CLIENT_KNOBS->TOO_MANY );
|
||||
state Standalone<RangeResultRef> keyServers =
|
||||
wait(krmGetRanges(&tr, keyServersPrefix, KeyRangeRef(begin, allKeys.end),
|
||||
SERVER_KNOBS->MOVE_KEYS_KRM_LIMIT, SERVER_KNOBS->MOVE_KEYS_KRM_LIMIT_BYTES));
|
||||
|
@ -667,7 +667,8 @@ struct ConsistencyCheckWorkload : TestWorkload
|
||||
tr.setOption(FDBTransactionOptions::LOCK_AWARE);
|
||||
state int bytesReadInRange = 0;
|
||||
|
||||
Standalone<RangeResultRef> UIDtoTagMap = wait( tr.getRange( serverTagKeys, GetRangeLimits() ) );
|
||||
Standalone<RangeResultRef> UIDtoTagMap = wait( tr.getRange( serverTagKeys, CLIENT_KNOBS->TOO_MANY ) );
|
||||
ASSERT( !UIDtoTagMap.more && UIDtoTagMap.size() < CLIENT_KNOBS->TOO_MANY );
|
||||
decodeKeyServersValue(UIDtoTagMap, keyLocations[shard].value, sourceStorageServers, destStorageServers);
|
||||
|
||||
//If the destStorageServers is non-empty, then this shard is being relocated
|
||||
|
Loading…
x
Reference in New Issue
Block a user