clean up code
This commit is contained in:
parent
dd57e85064
commit
8a3f3ea674
|
@ -69,12 +69,12 @@ int64_t extractTenantIdFromKeyRef(StringRef s) {
|
|||
|
||||
// validates whether the lastTenantId and the nextTenantId share the same 2 byte prefix
|
||||
bool nextTenantIdPrefixMatches(int64_t lastTenantId, int64_t nextTenantId) {
|
||||
if (nextTenantId >> 48 != lastTenantId >> 48) {
|
||||
if (getTenantIdPrefix(nextTenantId) != getTenantIdPrefix(lastTenantId)) {
|
||||
TraceEvent(SevWarnAlways, "TenantIdPrefixMismatch")
|
||||
.detail("CurrentTenantId", lastTenantId)
|
||||
.detail("NewTenantId", nextTenantId)
|
||||
.detail("CurrentTenantIdPrefix", lastTenantId >> 48)
|
||||
.detail("NewTenantIdPrefix", nextTenantId >> 48);
|
||||
.detail("CurrentTenantIdPrefix", getTenantIdPrefix(lastTenantId))
|
||||
.detail("NewTenantIdPrefix", getTenantIdPrefix(nextTenantId));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
@ -82,9 +82,15 @@ bool nextTenantIdPrefixMatches(int64_t lastTenantId, int64_t nextTenantId) {
|
|||
|
||||
// returns the maximum allowable tenant id in which the 2 byte prefix is not overriden
|
||||
int64_t getMaxAllowableTenantId(int64_t curTenantId) {
|
||||
int64_t maxTenantId = pow(2, 48) - 1 + ((curTenantId >> 48) << 48);
|
||||
// The maximum tenant id allowed is 1 for the first 48 bits (6 bytes) with the first 16 bits (2 bytes) being the
|
||||
// tenant prefix
|
||||
int64_t maxTenantId = pow(2, 48) - 1 + ((getTenantIdPrefix(curTenantId)) << 48);
|
||||
ASSERT(maxTenantId > 0);
|
||||
return maxTenantId;
|
||||
}
|
||||
|
||||
int64_t getTenantIdPrefix(int64_t tenantId) {
|
||||
return tenantId >> 48;
|
||||
}
|
||||
|
||||
} // namespace TenantAPI
|
||||
|
|
|
@ -127,6 +127,7 @@ int64_t extractTenantIdFromMutation(MutationRef m);
|
|||
int64_t extractTenantIdFromKeyRef(StringRef s);
|
||||
bool nextTenantIdPrefixMatches(int64_t lastTenantId, int64_t nextTenantId);
|
||||
int64_t getMaxAllowableTenantId(int64_t curTenantId);
|
||||
int64_t getTenantIdPrefix(int64_t tenantId);
|
||||
|
||||
// Returns true if the specified ID has already been deleted and false if not. If the ID is old enough
|
||||
// that we no longer keep tombstones for it, an error is thrown.
|
||||
|
|
|
@ -498,7 +498,7 @@ struct MetaclusterManagementWorkload : TestWorkload {
|
|||
ASSERT(hasCapacity);
|
||||
ASSERT(entry.assignedCluster.present());
|
||||
ASSERT(entry.tenantGroup == tenantGroup);
|
||||
ASSERT(entry.id >> 48 == self->tenantIdPrefix);
|
||||
ASSERT(TenantAPI::getTenantIdPrefix(entry.id) == self->tenantIdPrefix);
|
||||
|
||||
if (tenantGroup.present()) {
|
||||
auto tenantGroupData =
|
||||
|
|
|
@ -451,7 +451,7 @@ struct TenantManagementWorkload : TestWorkload {
|
|||
|
||||
ASSERT(entry.present());
|
||||
ASSERT(entry.get().id > self->maxId);
|
||||
ASSERT(entry.get().id >> 48 == self->tenantIdPrefix);
|
||||
ASSERT(TenantAPI::getTenantIdPrefix(entry.get().id) == self->tenantIdPrefix);
|
||||
ASSERT(entry.get().tenantGroup == tenantItr->second.tenantGroup);
|
||||
ASSERT(entry.get().tenantState == TenantState::READY);
|
||||
|
||||
|
@ -464,7 +464,7 @@ struct TenantManagementWorkload : TestWorkload {
|
|||
wait(TenantAPI::tryGetTenant(self->dataDb.getReference(), tenantItr->first));
|
||||
ASSERT(dataEntry.present());
|
||||
ASSERT(dataEntry.get().id == entry.get().id);
|
||||
ASSERT(dataEntry.get().id >> 48 == self->tenantIdPrefix);
|
||||
ASSERT(TenantAPI::getTenantIdPrefix(dataEntry.get().id) == self->tenantIdPrefix);
|
||||
ASSERT(dataEntry.get().tenantGroup == entry.get().tenantGroup);
|
||||
ASSERT(dataEntry.get().tenantState == TenantState::READY);
|
||||
}
|
||||
|
@ -682,9 +682,10 @@ struct TenantManagementWorkload : TestWorkload {
|
|||
.detail("ClientID", self->clientId)
|
||||
.detail("Opetation", operationType);
|
||||
// Overshot our capacity because we cannot assign anymore tenant ids with the same prefix
|
||||
if (lastTenantId >> 48 != (lastTenantId + tenantsCreating) >> 48) {
|
||||
if (TenantAPI::getTenantIdPrefix(lastTenantId) !=
|
||||
TenantAPI::getTenantIdPrefix(lastTenantId + tenantsCreating)) {
|
||||
CODE_PROBE(true, "prefix change from reaching tenant capacity limits");
|
||||
ASSERT(lastTenantId >> 48 == self->tenantIdPrefix);
|
||||
ASSERT(TenantAPI::getTenantIdPrefix(lastTenantId) == self->tenantIdPrefix);
|
||||
|
||||
// It's possible that we created tenants but the createTenantImpl actor timed out so we had to
|
||||
// retry. Between when this retry is invoked to when the attempt is made to insert tenants the
|
||||
|
|
Loading…
Reference in New Issue