Skip to content

Commit 6d9491e

Browse files
Revert "[INTERNAL]: Add RegionalRoutingContext to encapsulate URI. (#44398)"
This reverts commit 9046fe6.
1 parent 464801b commit 6d9491e

File tree

41 files changed

+521
-810
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+521
-810
lines changed

sdk/cosmos/azure-cosmos-test/src/main/java/com/azure/cosmos/test/implementation/faultinjection/FaultInjectionRuleProcessor.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import com.azure.cosmos.implementation.directconnectivity.rntbd.RntbdUtils;
2525
import com.azure.cosmos.implementation.feedranges.FeedRangeInternal;
2626
import com.azure.cosmos.implementation.routing.PartitionKeyRangeIdentity;
27-
import com.azure.cosmos.implementation.routing.RegionalRoutingContext;
2827
import com.azure.cosmos.test.faultinjection.FaultInjectionCondition;
2928
import com.azure.cosmos.test.faultinjection.FaultInjectionConnectionErrorResult;
3029
import com.azure.cosmos.test.faultinjection.FaultInjectionConnectionType;
@@ -447,7 +446,7 @@ private Mono<List<URI>> resolvePhysicalAddresses(
447446
ResourceType.Document,
448447
null);
449448

450-
faultInjectionAddressRequest.requestContext.regionalRoutingContextToRoute = new RegionalRoutingContext(regionEndpoint);
449+
faultInjectionAddressRequest.requestContext.locationEndpointToRoute = regionEndpoint;
451450
faultInjectionAddressRequest.setPartitionKeyRangeIdentity(new PartitionKeyRangeIdentity(pkRangeId));
452451

453452
if (isWriteOnly) {

sdk/cosmos/azure-cosmos-tests/src/test/java/com/azure/cosmos/GlobalPartitionEndpointManagerForCircuitBreakerTests.java

Lines changed: 73 additions & 75 deletions
Large diffs are not rendered by default.

sdk/cosmos/azure-cosmos-tests/src/test/java/com/azure/cosmos/PartitionLevelCircuitBreakerTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import com.azure.cosmos.implementation.feedranges.FeedRangeEpkImpl;
2727
import com.azure.cosmos.implementation.feedranges.FeedRangePartitionKeyImpl;
2828
import com.azure.cosmos.implementation.guava25.base.Function;
29-
import com.azure.cosmos.implementation.routing.RegionalRoutingContext;
3029
import com.azure.cosmos.models.CosmosBatch;
3130
import com.azure.cosmos.models.CosmosBatchResponse;
3231
import com.azure.cosmos.models.CosmosChangeFeedRequestOptions;
@@ -61,6 +60,7 @@
6160
import reactor.core.publisher.Mono;
6261

6362
import java.lang.reflect.Field;
63+
import java.net.URI;
6464
import java.time.Duration;
6565
import java.util.ArrayList;
6666
import java.util.Collections;
@@ -5144,8 +5144,8 @@ private static double getEstimatedFailureCountSeenPerRegionPerPartitionKeyRange(
51445144
return 0d;
51455145
}
51465146

5147-
ConcurrentHashMap<RegionalRoutingContext, LocationSpecificHealthContext> locationEndpointToLocationSpecificContextForPartition
5148-
= (ConcurrentHashMap<RegionalRoutingContext, LocationSpecificHealthContext>) locationEndpointToLocationSpecificContextForPartitionField.get(partitionAndLocationSpecificUnavailabilityInfo);
5147+
ConcurrentHashMap<URI, LocationSpecificHealthContext> locationEndpointToLocationSpecificContextForPartition
5148+
= (ConcurrentHashMap<URI, LocationSpecificHealthContext>) locationEndpointToLocationSpecificContextForPartitionField.get(partitionAndLocationSpecificUnavailabilityInfo);
51495149

51505150
int count = 0;
51515151
boolean failuresExist = false;

sdk/cosmos/azure-cosmos-tests/src/test/java/com/azure/cosmos/ProactiveConnectionManagementTest.java

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import com.azure.cosmos.implementation.routing.CollectionRoutingMap;
3030
import com.azure.cosmos.implementation.routing.PartitionKeyInternalHelper;
3131
import com.azure.cosmos.implementation.routing.PartitionKeyRangeIdentity;
32-
import com.azure.cosmos.implementation.routing.RegionalRoutingContext;
3332
import com.azure.cosmos.models.CosmosContainerIdentity;
3433
import com.azure.cosmos.rx.TestSuiteBase;
3534
import org.testng.annotations.BeforeClass;
@@ -181,13 +180,11 @@ public void openConnectionsAndInitCachesWithContainer(ProactiveConnectionManagem
181180

182181
cosmosAsyncContainer.openConnectionsAndInitCaches(proactiveConnectionRegionCount).block();
183182

184-
UnmodifiableList<RegionalRoutingContext> readEndpoints =
183+
UnmodifiableList<URI> readEndpoints =
185184
globalEndpointManager.getReadEndpoints();
186-
187185
List<URI> proactiveConnectionEndpoints = readEndpoints.subList(
188186
0,
189-
Math.min(readEndpoints.size(),proactiveContainerInitConfig.getProactiveConnectionRegionsCount()))
190-
.stream().map(RegionalRoutingContext::getGatewayRegionalEndpoint).collect(Collectors.toList());
187+
Math.min(readEndpoints.size(),proactiveContainerInitConfig.getProactiveConnectionRegionsCount()));
191188

192189
Mono<CosmosAsyncContainer> asyncContainerMono = Mono.just(cosmosAsyncContainer);
193190

@@ -345,14 +342,10 @@ public void openConnectionsAndInitCachesWithCosmosClient_And_PerContainerConnect
345342
ConcurrentHashMap<String, ?> routingMap = getRoutingMap(rxDocumentClient);
346343
ConcurrentHashMap<String, ?> collectionInfoByNameMap = getCollectionInfoByNameMap(rxDocumentClient);
347344
Set<String> endpoints = ConcurrentHashMap.newKeySet();
348-
UnmodifiableList<RegionalRoutingContext> readEndpoints = globalEndpointManager.getReadEndpoints();
349-
345+
UnmodifiableList<URI> readEndpoints = globalEndpointManager.getReadEndpoints();
350346
List<URI> proactiveConnectionEndpoints = readEndpoints.subList(
351347
0,
352-
Math.min(readEndpoints.size(), proactiveContainerInitConfig.getProactiveConnectionRegionsCount()))
353-
.stream()
354-
.map(RegionalRoutingContext::getGatewayRegionalEndpoint)
355-
.collect(Collectors.toList());
348+
Math.min(readEndpoints.size(), proactiveContainerInitConfig.getProactiveConnectionRegionsCount()));
356349

357350
Flux<CosmosAsyncContainer> asyncContainerFlux = Flux.fromIterable(asyncContainers);
358351
Flux<Utils.ValueHolder<List<PartitionKeyRange>>> partitionKeyRangeFlux =
@@ -495,13 +488,10 @@ public void openConnectionsAndInitCachesWithCosmosClient_And_PerContainerConnect
495488
ConcurrentHashMap<String, ?> routingMap = getRoutingMap(rxDocumentClient);
496489
ConcurrentHashMap<String, ?> collectionInfoByNameMap = getCollectionInfoByNameMap(rxDocumentClient);
497490
Set<String> endpoints = ConcurrentHashMap.newKeySet();
498-
UnmodifiableList<RegionalRoutingContext> readEndpoints = globalEndpointManager.getReadEndpoints();
491+
UnmodifiableList<URI> readEndpoints = globalEndpointManager.getReadEndpoints();
499492
List<URI> proactiveConnectionEndpoints = readEndpoints.subList(
500493
0,
501-
Math.min(readEndpoints.size(), proactiveContainerInitConfig.getProactiveConnectionRegionsCount()))
502-
.stream()
503-
.map(RegionalRoutingContext::getGatewayRegionalEndpoint)
504-
.collect(Collectors.toList());;
494+
Math.min(readEndpoints.size(), proactiveContainerInitConfig.getProactiveConnectionRegionsCount()));
505495

506496
Flux<CosmosAsyncContainer> asyncContainerFlux = Flux.fromIterable(asyncContainers);
507497
Flux<Utils.ValueHolder<List<PartitionKeyRange>>> partitionKeyRangeFlux =
@@ -666,13 +656,10 @@ public void openConnectionsAndInitCachesWithCosmosClient_And_PerContainerConnect
666656
ConcurrentHashMap<String, ?> routingMap = getRoutingMap(rxDocumentClient);
667657
ConcurrentHashMap<String, ?> collectionInfoByNameMap = getCollectionInfoByNameMap(rxDocumentClient);
668658
Set<String> endpoints = ConcurrentHashMap.newKeySet();
669-
UnmodifiableList<RegionalRoutingContext> readEndpoints = globalEndpointManager.getReadEndpoints();
659+
UnmodifiableList<URI> readEndpoints = globalEndpointManager.getReadEndpoints();
670660
List<URI> proactiveConnectionEndpoints = readEndpoints.subList(
671661
0,
672-
Math.min(readEndpoints.size(), proactiveContainerInitConfig.getProactiveConnectionRegionsCount()))
673-
.stream()
674-
.map(RegionalRoutingContext::getGatewayRegionalEndpoint)
675-
.collect(Collectors.toList());;
662+
Math.min(readEndpoints.size(), proactiveContainerInitConfig.getProactiveConnectionRegionsCount()));
676663

677664
Flux<CosmosAsyncContainer> asyncContainerFlux = Flux.fromIterable(asyncContainers);
678665
Flux<Utils.ValueHolder<List<PartitionKeyRange>>> partitionKeyRangeFlux =

sdk/cosmos/azure-cosmos-tests/src/test/java/com/azure/cosmos/implementation/ClientRetryPolicyTest.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import com.azure.cosmos.ThrottlingRetryOptions;
99
import com.azure.cosmos.implementation.circuitBreaker.GlobalPartitionEndpointManagerForCircuitBreaker;
1010
import com.azure.cosmos.implementation.directconnectivity.ChannelAcquisitionException;
11-
import com.azure.cosmos.implementation.routing.RegionalRoutingContext;
1211
import io.netty.handler.timeout.ReadTimeoutException;
1312
import io.reactivex.subscribers.TestSubscriber;
1413
import org.mockito.Mockito;
@@ -67,7 +66,7 @@ public void networkFailureOnRead() throws Exception {
6766
ThrottlingRetryOptions throttlingRetryOptions = new ThrottlingRetryOptions();
6867
GlobalEndpointManager endpointManager = Mockito.mock(GlobalEndpointManager.class);
6968
GlobalPartitionEndpointManagerForCircuitBreaker globalPartitionEndpointManager = Mockito.mock(GlobalPartitionEndpointManagerForCircuitBreaker.class);
70-
Mockito.doReturn(new RegionalRoutingContext(new URI("http://localhost"))).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
69+
Mockito.doReturn(new URI("http://localhost")).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
7170
Mockito.doReturn(Mono.empty()).when(endpointManager).refreshLocationAsync(Mockito.eq(null), Mockito.eq(false));
7271
ClientRetryPolicy clientRetryPolicy = new ClientRetryPolicy(mockDiagnosticsClientContext(), endpointManager, true, throttlingRetryOptions, null, globalPartitionEndpointManager);
7372

@@ -108,7 +107,7 @@ public void shouldRetryOnGatewayTimeout(
108107
GlobalEndpointManager endpointManager = Mockito.mock(GlobalEndpointManager.class);
109108
GlobalPartitionEndpointManagerForCircuitBreaker globalPartitionEndpointManager = Mockito.mock(GlobalPartitionEndpointManagerForCircuitBreaker.class);
110109

111-
Mockito.doReturn(new RegionalRoutingContext(new URI("http://localhost"))).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
110+
Mockito.doReturn(new URI("http://localhost")).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
112111
Mockito.doReturn(Mono.empty()).when(endpointManager).refreshLocationAsync(Mockito.eq(null), Mockito.eq(true));
113112
ClientRetryPolicy clientRetryPolicy =
114113
new ClientRetryPolicy(
@@ -151,7 +150,7 @@ public void tcpNetworkFailureOnRead() throws Exception {
151150
GlobalEndpointManager endpointManager = Mockito.mock(GlobalEndpointManager.class);
152151
GlobalPartitionEndpointManagerForCircuitBreaker globalPartitionEndpointManager = Mockito.mock(GlobalPartitionEndpointManagerForCircuitBreaker.class);
153152

154-
Mockito.doReturn(new RegionalRoutingContext(new URI("http://localhost"))).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
153+
Mockito.doReturn(new URI("http://localhost")).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
155154
Mockito.doReturn(Mono.empty()).when(endpointManager).refreshLocationAsync(Mockito.eq(null), Mockito.eq(false));
156155
Mockito.doReturn(2).when(endpointManager).getPreferredLocationCount();
157156
ClientRetryPolicy clientRetryPolicy = new ClientRetryPolicy(mockDiagnosticsClientContext(), endpointManager, true, retryOptions, null, globalPartitionEndpointManager);
@@ -199,7 +198,7 @@ public void networkFailureOnWrite() throws Exception {
199198
GlobalEndpointManager endpointManager = Mockito.mock(GlobalEndpointManager.class);
200199
GlobalPartitionEndpointManagerForCircuitBreaker globalPartitionEndpointManager = Mockito.mock(GlobalPartitionEndpointManagerForCircuitBreaker.class);
201200

202-
Mockito.doReturn(new RegionalRoutingContext(new URI("http://localhost"))).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
201+
Mockito.doReturn(new URI("http://localhost")).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
203202
Mockito.doReturn(Mono.empty()).when(endpointManager).refreshLocationAsync(Mockito.eq(null), Mockito.eq(false));
204203
ClientRetryPolicy clientRetryPolicy = new ClientRetryPolicy(mockDiagnosticsClientContext(), endpointManager, true, throttlingRetryOptions, null, globalPartitionEndpointManager);
205204

@@ -234,7 +233,7 @@ public void tcpNetworkFailureOnWrite(
234233
GlobalEndpointManager endpointManager = Mockito.mock(GlobalEndpointManager.class);
235234
GlobalPartitionEndpointManagerForCircuitBreaker globalPartitionEndpointManager = Mockito.mock(GlobalPartitionEndpointManagerForCircuitBreaker.class);
236235

237-
Mockito.doReturn(new RegionalRoutingContext(new URI("http://localhost"))).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
236+
Mockito.doReturn(new URI("http://localhost")).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
238237
Mockito.doReturn(Mono.empty()).when(endpointManager).refreshLocationAsync(Mockito.eq(null), Mockito.eq(false));
239238
Mockito.doReturn(2).when(endpointManager).getPreferredLocationCount();
240239
ClientRetryPolicy clientRetryPolicy = new ClientRetryPolicy(mockDiagnosticsClientContext(), endpointManager, true, retryOptions, null, globalPartitionEndpointManager);
@@ -294,7 +293,7 @@ public void networkFailureOnUpsert() throws Exception {
294293
GlobalEndpointManager endpointManager = Mockito.mock(GlobalEndpointManager.class);
295294
GlobalPartitionEndpointManagerForCircuitBreaker globalPartitionEndpointManager = Mockito.mock(GlobalPartitionEndpointManagerForCircuitBreaker.class);
296295

297-
Mockito.doReturn(new RegionalRoutingContext(new URI("http://localhost"))).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
296+
Mockito.doReturn(new URI("http://localhost")).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
298297
Mockito.doReturn(Mono.empty()).when(endpointManager).refreshLocationAsync(Mockito.eq(null), Mockito.eq(false));
299298
ClientRetryPolicy clientRetryPolicy = new ClientRetryPolicy(mockDiagnosticsClientContext(), endpointManager, true, throttlingRetryOptions, null, globalPartitionEndpointManager);
300299

@@ -327,7 +326,7 @@ public void tcpNetworkFailureOnUpsert() throws Exception {
327326
GlobalEndpointManager endpointManager = Mockito.mock(GlobalEndpointManager.class);
328327
GlobalPartitionEndpointManagerForCircuitBreaker globalPartitionEndpointManager = Mockito.mock(GlobalPartitionEndpointManagerForCircuitBreaker.class);
329328

330-
Mockito.doReturn(new RegionalRoutingContext(new URI("http://localhost"))).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
329+
Mockito.doReturn(new URI("http://localhost")).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
331330
Mockito.doReturn(Mono.empty()).when(endpointManager).refreshLocationAsync(Mockito.eq(null), Mockito.eq(false));
332331
Mockito.doReturn(2).when(endpointManager).getPreferredLocationCount();
333332
ClientRetryPolicy clientRetryPolicy = new ClientRetryPolicy(mockDiagnosticsClientContext(), endpointManager, true, retryOptions, null, globalPartitionEndpointManager);
@@ -363,7 +362,7 @@ public void networkFailureOnDelete() throws Exception {
363362
GlobalEndpointManager endpointManager = Mockito.mock(GlobalEndpointManager.class);
364363
GlobalPartitionEndpointManagerForCircuitBreaker globalPartitionEndpointManager = Mockito.mock(GlobalPartitionEndpointManagerForCircuitBreaker.class);
365364

366-
Mockito.doReturn(new RegionalRoutingContext(new URI("http://localhost"))).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
365+
Mockito.doReturn(new URI("http://localhost")).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
367366
Mockito.doReturn(Mono.empty()).when(endpointManager).refreshLocationAsync(Mockito.eq(null), Mockito.eq(false));
368367
ClientRetryPolicy clientRetryPolicy = new ClientRetryPolicy(mockDiagnosticsClientContext(), endpointManager, true, throttlingRetryOptions, null, globalPartitionEndpointManager);
369368

@@ -397,7 +396,7 @@ public void tcpNetworkFailureOnDelete() throws Exception {
397396
GlobalEndpointManager endpointManager = Mockito.mock(GlobalEndpointManager.class);
398397
GlobalPartitionEndpointManagerForCircuitBreaker globalPartitionEndpointManager = Mockito.mock(GlobalPartitionEndpointManagerForCircuitBreaker.class);
399398

400-
Mockito.doReturn(new RegionalRoutingContext(new URI("http://localhost"))).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
399+
Mockito.doReturn(new URI("http://localhost")).when(endpointManager).resolveServiceEndpoint(Mockito.any(RxDocumentServiceRequest.class));
401400
Mockito.doReturn(Mono.empty()).when(endpointManager).refreshLocationAsync(Mockito.eq(null), Mockito.eq(false));
402401
Mockito.doReturn(2).when(endpointManager).getPreferredLocationCount();
403402
ClientRetryPolicy clientRetryPolicy = new ClientRetryPolicy(mockDiagnosticsClientContext(), endpointManager, true, retryOptions, null, globalPartitionEndpointManager);

sdk/cosmos/azure-cosmos-tests/src/test/java/com/azure/cosmos/implementation/ConfigsTests.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import com.azure.cosmos.implementation.clienttelemetry.MetricCategory;
77
import com.azure.cosmos.implementation.clienttelemetry.TagName;
88
import com.azure.cosmos.implementation.directconnectivity.Protocol;
9+
import com.azure.cosmos.implementation.directconnectivity.ReflectionUtils;
10+
import io.netty.handler.ssl.SslContext;
911
import org.testng.annotations.Test;
1012

1113
import java.net.URI;

0 commit comments

Comments
 (0)