Change error name and fix a bug in ExclusionInProgressRangeImpl::getRange()
This commit is contained in:
parent
96b1327568
commit
10540a3c73
|
@ -919,8 +919,7 @@ DatabaseContext::DatabaseContext(Reference<AsyncVar<Reference<ClusterConnectionF
|
|||
registerSpecialKeySpaceModule(
|
||||
SpecialKeySpace::MODULE::MANAGEMENT, SpecialKeySpace::IMPLTYPE::READONLY,
|
||||
std::make_unique<ExclusionInProgressRangeImpl>(
|
||||
KeyRangeRef(LiteralStringRef("inProgressExclusion/"), LiteralStringRef("inProgressExclusion0"))
|
||||
.withPrefix(SpecialKeySpace::getModuleRange(SpecialKeySpace::MODULE::MANAGEMENT).begin)));
|
||||
KeyRangeRef(LiteralStringRef("\xff\xff/conf/inProgressExclusion/"), LiteralStringRef("\xff\xff/conf/inProgressExclusion0"))));
|
||||
}
|
||||
if (apiVersionAtLeast(630)) {
|
||||
registerSpecialKeySpaceModule(SpecialKeySpace::MODULE::TRANSACTION, SpecialKeySpace::IMPLTYPE::READONLY,
|
||||
|
|
|
@ -266,6 +266,7 @@ ACTOR Future<Standalone<RangeResultRef>> SpecialKeySpace::getRangeAggregationAct
|
|||
result.arena().dependsOn(pairs.arena());
|
||||
// limits handler
|
||||
for (int i = pairs.size() - 1; i >= 0; --i) {
|
||||
ASSERT(iter->range().contains(pairs[i].key));
|
||||
result.push_back(result.arena(), pairs[i]);
|
||||
// Note : behavior here is even the last k-v pair makes total bytes larger than specified, it's still
|
||||
// returned. In other words, the total size of the returned value (less the last entry) will be less
|
||||
|
@ -295,6 +296,7 @@ ACTOR Future<Standalone<RangeResultRef>> SpecialKeySpace::getRangeAggregationAct
|
|||
result.arena().dependsOn(pairs.arena());
|
||||
// limits handler
|
||||
for (int i = 0; i < pairs.size(); ++i) {
|
||||
ASSERT(iter->range().contains(pairs[i].key));
|
||||
result.push_back(result.arena(), pairs[i]);
|
||||
// Note : behavior here is even the last k-v pair makes total bytes larger than specified, it's still
|
||||
// returned. In other words, the total size of the returned value (less the last entry) will be less
|
||||
|
@ -444,7 +446,7 @@ ACTOR Future<Void> commitActor(SpecialKeySpace* sks, ReadYourWritesTransaction*
|
|||
TraceEvent(SevDebug, "SpecialKeySpaceManagemetnAPIError")
|
||||
.detail("Reason", msg.get())
|
||||
.detail("Range", (*it)->getKeyRange().toString());
|
||||
throw special_keys_management_api_failure();
|
||||
throw special_keys_api_failure();
|
||||
}
|
||||
}
|
||||
return Void();
|
||||
|
@ -914,7 +916,11 @@ ACTOR Future<Standalone<RangeResultRef>> ExclusionInProgressActor(ReadYourWrites
|
|||
|
||||
for (auto const& address : inProgressExclusion) {
|
||||
Key addrKey = prefix.withSuffix(address.toString());
|
||||
if (kr.contains(addrKey)) result.push_back(result.arena(), KeyValueRef(addrKey, ValueRef()));
|
||||
ASSERT(addrKey.startsWith(LiteralStringRef("\xff\xff/conf/")));
|
||||
if (kr.contains(addrKey)) {
|
||||
result.push_back(result.arena(), KeyValueRef(addrKey, ValueRef()));
|
||||
result.arena().dependsOn(addrKey.arena());
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -392,7 +392,7 @@ struct SpecialKeySpaceCorrectnessWorkload : TestWorkload {
|
|||
ASSERT(false);
|
||||
} catch (Error& e) {
|
||||
if (e.code() == error_code_actor_cancelled) throw;
|
||||
ASSERT(e.code() == error_code_special_keys_management_api_failure);
|
||||
ASSERT(e.code() == error_code_special_keys_api_failure);
|
||||
Optional<Value> errorMsg = wait(tx->get(SpecialKeySpace::getModuleRange(SpecialKeySpace::MODULE::ERRORMSG).begin));
|
||||
ASSERT(errorMsg.present());
|
||||
std::string errorStr;
|
||||
|
|
|
@ -159,7 +159,7 @@ ERROR( special_keys_no_module_found, 2113, "Special key space range read does no
|
|||
ERROR( special_keys_write_disabled, 2114, "Special Key space is not allowed to write by default. Refer to the `special_key_space_enable_writes` transaction option for more details." )
|
||||
ERROR( special_keys_no_write_module_found, 2115, "Special key space key or keyrange in set or clear does not intersect a module" )
|
||||
ERROR( special_keys_cross_module_clear, 2116, "Special key space clear crosses modules" )
|
||||
ERROR( special_keys_management_api_failure, 2117, "Management Api call through special keys failed. For more information, call get(\"\xff\xff/error_message\") to get a json string of the error message." )
|
||||
ERROR( special_keys_api_failure, 2117, "Api call through special keys failed. For more information, call get(\"\xff\xff/error_message\") to get a json string of the error message." )
|
||||
|
||||
// 2200 - errors from bindings and official APIs
|
||||
ERROR( api_version_unset, 2200, "API version is not set" )
|
||||
|
|
Loading…
Reference in New Issue