in elastic-db-tools/src/main/java/com/microsoft/azure/elasticdb/shard/storeops/base/StoreOperationErrorHandler.java [177:233]
public static ShardManagementException onShardMapperErrorGlobal(StoreResults result,
StoreShardMap shardMap,
StoreShard shard,
ShardManagementErrorCategory errorCategory,
String operationName,
String storedProcName) {
switch (result.getResult()) {
case ShardMapDoesNotExist:
return new ShardManagementException(errorCategory, ShardManagementErrorCode.ShardMapDoesNotExist,
Errors._Store_ShardMap_DoesNotExistGlobal, shardMap.getName(), storedProcName, operationName,
shard != null ? shard.getLocation().toString() : "*");
case ShardDoesNotExist:
return new ShardManagementException(errorCategory, ShardManagementErrorCode.ShardDoesNotExist, Errors._Store_Shard_DoesNotExistGlobal,
shard.getLocation(), shardMap.getName(), storedProcName, operationName);
case ShardVersionMismatch:
return new ShardManagementException(errorCategory, ShardManagementErrorCode.ShardVersionMismatch,
Errors._Store_Shard_VersionMismatchGlobal, shard.getLocation(), shardMap.getName(), storedProcName, operationName);
case MappingDoesNotExist:
return new ShardManagementException(errorCategory, ShardManagementErrorCode.MappingDoesNotExist,
Errors._Store_ShardMapper_MappingDoesNotExistGlobal, shard.getLocation(), shardMap.getName(), storedProcName, operationName);
case MappingRangeAlreadyMapped:
return new ShardManagementException(errorCategory, ShardManagementErrorCode.MappingRangeAlreadyMapped,
Errors._Store_ShardMapper_MappingPointOrRangeAlreadyMapped, shard.getLocation(), shardMap.getName(), "Range", storedProcName,
operationName);
case MappingPointAlreadyMapped:
return new ShardManagementException(errorCategory, ShardManagementErrorCode.MappingPointAlreadyMapped,
Errors._Store_ShardMapper_MappingPointOrRangeAlreadyMapped, shard.getLocation(), shardMap.getName(), "Point", storedProcName,
operationName);
case MappingNotFoundForKey:
// Debug.Fail("MappingNotFoundForKey should not be raised during SqlOperation.");
return new ShardManagementException(errorCategory, ShardManagementErrorCode.MappingNotFoundForKey,
Errors._Store_ShardMapper_MappingNotFoundForKeyGlobal, shardMap.getName(), storedProcName, operationName);
case MappingIsAlreadyLocked:
return new ShardManagementException(errorCategory, ShardManagementErrorCode.MappingIsAlreadyLocked,
Errors._Store_ShardMapper_LockMappingAlreadyLocked, shard.getLocation(), shardMap.getName(), storedProcName, operationName);
case MappingLockOwnerIdDoesNotMatch:
return new ShardManagementException(errorCategory, ShardManagementErrorCode.MappingLockOwnerIdDoesNotMatch,
Errors._Store_ShardMapper_LockOwnerDoesNotMatch, shard.getLocation(), shardMap.getName(), storedProcName, operationName);
case MappingIsNotOffline:
return new ShardManagementException(errorCategory, ShardManagementErrorCode.MappingIsNotOffline,
Errors._Store_ShardMapper_MappingIsNotOffline, shard.getLocation(), shardMap.getName(), storedProcName, operationName);
case StoreVersionMismatch:
case MissingParametersForStoredProcedure:
default:
return StoreOperationErrorHandler.onCommonErrorGlobal(result, operationName, storedProcName);
}
}