public static void ResolveMappingDifferences()

in App/src/Events-Tenant.Common/Utilities/Sharding.cs [140:155]


        public static void ResolveMappingDifferences(int TenantId, bool UseGlobalShardMap = false)
        {
            var shardMapManager = ShardMapManagerFactory.GetSqlShardMapManager(_shardMapConnectionString, ShardMapManagerLoadPolicy.Lazy);
            var recoveryManager = shardMapManager.GetRecoveryManager();
            var tenantMapping = ShardMap.GetMappingForKey(TenantId);
            var mappingDifferencesList = recoveryManager.DetectMappingDifferences(tenantMapping.Shard.Location, ShardMap.Name);

            foreach(var mismatch in mappingDifferencesList)
            {
                if (!UseGlobalShardMap)
                    recoveryManager.ResolveMappingDifferences(mismatch, Microsoft.Azure.SqlDatabase.ElasticScale.ShardManagement.Recovery.MappingDifferenceResolution.KeepShardMapping);       
                else
                    recoveryManager.ResolveMappingDifferences(mismatch, Microsoft.Azure.SqlDatabase.ElasticScale.ShardManagement.Recovery.MappingDifferenceResolution.KeepShardMapMapping);
            }

        }