diff --git a/eng/code-quality-reports/src/main/resources/spotbugs/spotbugs-exclude.xml b/eng/code-quality-reports/src/main/resources/spotbugs/spotbugs-exclude.xml index 83e4de98da80..760c78b2703f 100755 --- a/eng/code-quality-reports/src/main/resources/spotbugs/spotbugs-exclude.xml +++ b/eng/code-quality-reports/src/main/resources/spotbugs/spotbugs-exclude.xml @@ -1223,7 +1223,7 @@ - + diff --git a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsynReadWithMultipleClients.java b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsynReadWithMultipleClients.java index b28d47fb7f77..b8afa8291bf0 100644 --- a/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsynReadWithMultipleClients.java +++ b/sdk/cosmos/azure-cosmos-benchmark/src/main/java/com/azure/cosmos/benchmark/AsynReadWithMultipleClients.java @@ -227,7 +227,7 @@ private void createClients() { .endpoint(endpoint) .key(key) .consistencyLevel(configuration.getConsistencyLevel()) - .connectionReuseAcrossClientsEnabled(true) + .connectionSharingAcrossClientsEnabled(true) .contentResponseOnWriteEnabled(Boolean.parseBoolean(configuration.isContentResponseOnWriteEnabled())); if (this.configuration.getConnectionMode().equals(ConnectionMode.DIRECT)) { cosmosClientBuilder = cosmosClientBuilder.directMode(DirectConnectionConfig.getDefaultConfig()); diff --git a/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/StoredProcedureAsyncAPITest.java b/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/StoredProcedureAsyncAPITest.java index d3a3f8b1bdb2..97f6e9d647ed 100644 --- a/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/StoredProcedureAsyncAPITest.java +++ b/sdk/cosmos/azure-cosmos-examples/src/test/java/com/azure/cosmos/rx/examples/StoredProcedureAsyncAPITest.java @@ -109,7 +109,7 @@ public void scriptConsoleLogEnabled() throws Exception { final CountDownLatch successfulCompletionLatch = new CountDownLatch(1); // Execute the stored procedure - client.executeStoredProcedure(getSprocLink(storedProcedure), requestOptions, new Object[]{}) + client.executeStoredProcedure(getSprocLink(storedProcedure), requestOptions, new ArrayList<>()) .subscribe(storedProcedureResponse -> { String logResult = "The value of x is 1."; try { @@ -154,7 +154,9 @@ public void executeStoredProcWithArgs() throws Exception { final CountDownLatch successfulCompletionLatch = new CountDownLatch(1); // Execute the stored procedure - Object[] storedProcedureArgs = new Object[]{"a", 123}; + List storedProcedureArgs = new ArrayList<>(); + storedProcedureArgs.add("a"); + storedProcedureArgs.add(123); client.executeStoredProcedure(getSprocLink(storedProcedure), requestOptions, storedProcedureArgs) .subscribe(storedProcedureResponse -> { String storedProcResultAsString = storedProcedureResponse.getResponseAsString(); @@ -200,7 +202,8 @@ class SamplePojo { SamplePojo samplePojo = new SamplePojo(); // Execute the stored procedure - Object[] storedProcedureArgs = new Object[]{samplePojo}; + List storedProcedureArgs = new ArrayList<>(); + storedProcedureArgs.add(samplePojo); client.executeStoredProcedure(getSprocLink(storedProcedure), requestOptions, storedProcedureArgs) .subscribe(storedProcedureResponse -> { String storedProcResultAsString = storedProcedureResponse.getResponseAsString(); diff --git a/sdk/cosmos/azure-cosmos/pom.xml b/sdk/cosmos/azure-cosmos/pom.xml index 763d5827f705..9265ae1633e3 100644 --- a/sdk/cosmos/azure-cosmos/pom.xml +++ b/sdk/cosmos/azure-cosmos/pom.xml @@ -125,31 +125,9 @@ Licensed under the MIT License. io.netty * - - com.fasterxml.jackson.core - * - - - com.fasterxml.jackson.core - jackson-core - 2.10.1 - - - - com.fasterxml.jackson.core - jackson-databind - 2.10.1 - - - - com.fasterxml.jackson.core - jackson-annotations - 2.10.1 - - com.fasterxml.jackson.module jackson-module-afterburner diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/BridgeInternal.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/BridgeInternal.java index c46d8629de94..f4eaac6934b0 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/BridgeInternal.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/BridgeInternal.java @@ -3,23 +3,23 @@ package com.azure.cosmos; -import com.azure.cosmos.implementation.ChangeFeedOptions; import com.azure.cosmos.implementation.Configs; import com.azure.cosmos.implementation.Constants; import com.azure.cosmos.implementation.CosmosItemProperties; import com.azure.cosmos.implementation.DatabaseAccount; import com.azure.cosmos.implementation.Document; -import com.azure.cosmos.implementation.HttpConstants; +import com.azure.cosmos.implementation.JsonSerializable; import com.azure.cosmos.implementation.MetadataDiagnosticsContext; import com.azure.cosmos.implementation.QueryMetrics; import com.azure.cosmos.implementation.ReplicationPolicy; import com.azure.cosmos.implementation.RequestTimeline; +import com.azure.cosmos.implementation.Resource; import com.azure.cosmos.implementation.ResourceResponse; import com.azure.cosmos.implementation.RxDocumentServiceRequest; import com.azure.cosmos.implementation.RxDocumentServiceResponse; import com.azure.cosmos.implementation.SerializationDiagnosticsContext; import com.azure.cosmos.implementation.StoredProcedureResponse; -import com.azure.cosmos.implementation.Strings; +import com.azure.cosmos.implementation.Warning; import com.azure.cosmos.implementation.directconnectivity.StoreResponse; import com.azure.cosmos.implementation.directconnectivity.StoreResult; import com.azure.cosmos.implementation.directconnectivity.Uri; @@ -29,12 +29,9 @@ import com.azure.cosmos.models.CosmosError; import com.azure.cosmos.models.CosmosItemResponse; import com.azure.cosmos.models.CosmosStoredProcedureProperties; -import com.azure.cosmos.models.FeedOptions; import com.azure.cosmos.models.FeedResponse; -import com.azure.cosmos.implementation.JsonSerializable; import com.azure.cosmos.models.ModelBridgeInternal; import com.azure.cosmos.models.PartitionKey; -import com.azure.cosmos.implementation.Resource; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -44,227 +41,182 @@ import java.nio.ByteBuffer; import java.time.OffsetDateTime; import java.util.Collection; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentMap; +import static com.azure.cosmos.implementation.Warning.INTERNAL_USE_ONLY_WARNING; + /** * DO NOT USE. * This is meant to be used only internally as a bridge access to classes in * com.azure.cosmos **/ +@Warning(value = INTERNAL_USE_ONLY_WARNING) public final class BridgeInternal { + private BridgeInternal() {} + + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Document documentFromObject(Object document, ObjectMapper mapper) { return Document.fromObject(document, mapper); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static ByteBuffer serializeJsonToByteBuffer(Object document, ObjectMapper mapper) { return CosmosItemProperties.serializeJsonToByteBuffer(document, mapper); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void monitorTelemetry(MeterRegistry registry) { CosmosAsyncClient.setMonitorTelemetry(registry); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static ResourceResponse toResourceResponse(RxDocumentServiceResponse response, Class cls) { return new ResourceResponse(response, cls); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static FeedResponse toFeedResponsePage(RxDocumentServiceResponse response, Class cls) { return ModelBridgeInternal.toFeedResponsePage(response, cls); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static FeedResponse toFeedResponsePage(List results, Map headers, boolean noChanges) { return ModelBridgeInternal.toFeedResponsePage(results, headers, noChanges); } - public static FeedResponse toChaneFeedResponsePage(RxDocumentServiceResponse response, - Class cls) { + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static FeedResponse toChangeFeedResponsePage(RxDocumentServiceResponse response, + Class cls) { return ModelBridgeInternal.toChaneFeedResponsePage(response, cls); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static StoredProcedureResponse toStoredProcedureResponse(RxDocumentServiceResponse response) { return new StoredProcedureResponse(response); } - public static Map getFeedHeaders(ChangeFeedOptions options) { - - if (options == null) { - return new HashMap<>(); - } - - Map headers = new HashMap<>(); - - if (options.getMaxItemCount() != null) { - headers.put(HttpConstants.HttpHeaders.PAGE_SIZE, options.getMaxItemCount().toString()); - } - - String ifNoneMatchValue = null; - if (options.getRequestContinuation() != null) { - ifNoneMatchValue = options.getRequestContinuation(); - } else if (!options.isStartFromBeginning()) { - ifNoneMatchValue = "*"; - } - // On REST level, change feed is using IF_NONE_MATCH/ETag instead of - // continuation. - if (ifNoneMatchValue != null) { - headers.put(HttpConstants.HttpHeaders.IF_NONE_MATCH, ifNoneMatchValue); - } - - headers.put(HttpConstants.HttpHeaders.A_IM, Constants.QueryExecutionContext.INCREMENTAL_FEED_HEADER_VALUE); - - return headers; - } - - public static Map getFeedHeaders(FeedOptions options) { - - if (options == null) { - return new HashMap<>(); - } - - Map headers = new HashMap<>(); - - if (options.getMaxItemCount() != null) { - headers.put(HttpConstants.HttpHeaders.PAGE_SIZE, options.getMaxItemCount().toString()); - } - - if (options.getRequestContinuation() != null) { - headers.put(HttpConstants.HttpHeaders.CONTINUATION, options.getRequestContinuation()); - } - - if (options.getSessionToken() != null) { - headers.put(HttpConstants.HttpHeaders.SESSION_TOKEN, options.getSessionToken()); - } - - if (options.isScanInQueryEnabled() != null) { - headers.put(HttpConstants.HttpHeaders.ENABLE_SCAN_IN_QUERY, options.isScanInQueryEnabled().toString()); - } - - if (options.isEmitVerboseTracesInQuery() != null) { - headers.put(HttpConstants.HttpHeaders.EMIT_VERBOSE_TRACES_IN_QUERY, - options.isEmitVerboseTracesInQuery().toString()); - } - - if (options.getMaxDegreeOfParallelism() != 0) { - headers.put(HttpConstants.HttpHeaders.PARALLELIZE_CROSS_PARTITION_QUERY, Boolean.TRUE.toString()); - } - - if (options.setResponseContinuationTokenLimitInKb() > 0) { - headers.put(HttpConstants.HttpHeaders.RESPONSE_CONTINUATION_TOKEN_LIMIT_IN_KB, - Strings.toString(options.setResponseContinuationTokenLimitInKb())); - } - - if (options.isPopulateQueryMetrics()) { - headers.put(HttpConstants.HttpHeaders.POPULATE_QUERY_METRICS, - String.valueOf(options.isPopulateQueryMetrics())); - } - - return headers; - } - + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static boolean noChanges(FeedResponse page) { return ModelBridgeInternal.noChanges(page); } - public static boolean noChanges(RxDocumentServiceResponse rsp) { - return rsp.getStatusCode() == HttpConstants.StatusCodes.NOT_MODIFIED; - } - + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static FeedResponse createFeedResponse(List results, Map headers) { return ModelBridgeInternal.createFeedResponse(results, headers); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static FeedResponse createFeedResponseWithQueryMetrics(List results, Map headers, ConcurrentMap queryMetricsMap) { return ModelBridgeInternal.createFeedResponseWithQueryMetrics(results, headers, queryMetricsMap); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static FeedResponseDiagnostics createFeedResponseDiagnostics(Map queryMetricsMap) { return new FeedResponseDiagnostics(queryMetricsMap); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static E setResourceAddress(E e, String resourceAddress) { e.setResourceAddress(resourceAddress); return e; } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static long getLSN(E e) { return e.lsn; } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static String getPartitionKeyRangeId(E e) { return e.partitionKeyRangeId; } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static String getResourceAddress(E e) { return e.getResourceAddress(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static E setLSN(E e, long lsn) { e.lsn = lsn; return e; } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static E setPartitionKeyRangeId(E e, String partitionKeyRangeId) { e.partitionKeyRangeId = partitionKeyRangeId; return e; } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static boolean isEnableMultipleWriteLocations(DatabaseAccount account) { return account.getEnableMultipleWriteLocations(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Uri getRequestUri(CosmosClientException cosmosClientException) { return cosmosClientException.requestUri; } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void setRequestHeaders(CosmosClientException cosmosClientException, Map requestHeaders) { cosmosClientException.requestHeaders = requestHeaders; } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Map getRequestHeaders( CosmosClientException cosmosClientException) { return cosmosClientException.requestHeaders; } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static String getAltLink(Resource resource) { return ModelBridgeInternal.getAltLink(resource); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void setAltLink(Resource resource, String altLink) { ModelBridgeInternal.setAltLink(resource, altLink); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void setMaxReplicaSetSize(ReplicationPolicy replicationPolicy, int value) { replicationPolicy.setMaxReplicaSetSize(value); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void putQueryMetricsIntoMap(FeedResponse response, String partitionKeyRangeId, QueryMetrics queryMetrics) { ModelBridgeInternal.queryMetricsMap(response).put(partitionKeyRangeId, queryMetrics); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static QueryMetrics createQueryMetricsFromDelimitedStringAndClientSideMetrics( String queryMetricsDelimitedString, ClientSideMetrics clientSideMetrics, String activityId) { return QueryMetrics.createFromDelimitedStringAndClientSideMetrics(queryMetricsDelimitedString, clientSideMetrics, activityId); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static QueryMetrics createQueryMetricsFromCollection(Collection queryMetricsCollection) { return QueryMetrics.createFromCollection(queryMetricsCollection); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static ClientSideMetrics getClientSideMetrics(QueryMetrics queryMetrics) { return queryMetrics.getClientSideMetrics(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static String getInnerErrorMessage(CosmosClientException cosmosClientException) { if (cosmosClientException == null) { return null; @@ -272,40 +224,49 @@ public static String getInnerErrorMessage(CosmosClientException cosmosClientExce return cosmosClientException.innerErrorMessage(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static PartitionKey getPartitionKey(PartitionKeyInternal partitionKeyInternal) { return new PartitionKey(partitionKeyInternal); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void setProperty(JsonSerializable jsonSerializable, String propertyName, T value) { ModelBridgeInternal.setProperty(jsonSerializable, propertyName, value); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static ObjectNode getObject(JsonSerializable jsonSerializable, String propertyName) { return ModelBridgeInternal.getObjectNodeFromJsonSerializable(jsonSerializable, propertyName); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void remove(JsonSerializable jsonSerializable, String propertyName) { ModelBridgeInternal.removeFromJsonSerializable(jsonSerializable, propertyName); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosStoredProcedureProperties createCosmosStoredProcedureProperties(String jsonString) { return ModelBridgeInternal.createCosmosStoredProcedureProperties(jsonString); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Object getValue(JsonNode value) { return ModelBridgeInternal.getValue(value); } - public static CosmosClientException setCosmosResponseDiagnostics( + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static CosmosClientException setCosmosDiagnostics( CosmosClientException cosmosClientException, - CosmosResponseDiagnostics cosmosResponseDiagnostics) { - return cosmosClientException.setResponseDiagnostics(cosmosResponseDiagnostics); + CosmosDiagnostics cosmosDiagnostics) { + return cosmosClientException.setDiagnostics(cosmosDiagnostics); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosClientException createCosmosClientException(int statusCode) { return new CosmosClientException(statusCode, null, null, null); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosClientException createCosmosClientException(int statusCode, String errorMessage) { CosmosClientException cosmosClientException = new CosmosClientException(statusCode, errorMessage, null, null); cosmosClientException.setError(new CosmosError()); @@ -314,15 +275,18 @@ public static CosmosClientException createCosmosClientException(int statusCode, return cosmosClientException; } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosClientException createCosmosClientException(int statusCode, Exception innerException) { return new CosmosClientException(statusCode, null, null, innerException); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosClientException createCosmosClientException(int statusCode, CosmosError cosmosErrorResource, Map responseHeaders) { return new CosmosClientException(/* resourceAddress */ null, statusCode, cosmosErrorResource, responseHeaders); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosClientException createCosmosClientException(String resourceAddress, int statusCode, CosmosError cosmosErrorResource, @@ -334,6 +298,7 @@ public static CosmosClientException createCosmosClientException(String resourceA return cosmosClientException; } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosClientException createCosmosClientException(String message, Exception exception, Map responseHeaders, @@ -345,163 +310,199 @@ public static CosmosClientException createCosmosClientException(String message, return cosmosClientException; } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Configs extractConfigs(CosmosClientBuilder cosmosClientBuilder) { return cosmosClientBuilder.configs(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosClientBuilder injectConfigs(CosmosClientBuilder cosmosClientBuilder, Configs configs) { return cosmosClientBuilder.configs(configs); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static String extractContainerSelfLink(CosmosAsyncContainer container) { return container.getLink(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static String extractResourceSelfLink(Resource resource) { return resource.getSelfLink(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void setResourceSelfLink(Resource resource, String selfLink) { ModelBridgeInternal.setResourceSelfLink(resource, selfLink); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void setTimestamp(Resource resource, OffsetDateTime date) { ModelBridgeInternal.setTimestamp(resource, date); } - public static CosmosResponseDiagnostics createCosmosResponseDiagnostics() { - return new CosmosResponseDiagnostics(); + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static CosmosDiagnostics createCosmosDiagnostics() { + return new CosmosDiagnostics(); } - public static void setTransportClientRequestTimelineOnDiagnostics(CosmosResponseDiagnostics cosmosResponseDiagnostics, + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static void setTransportClientRequestTimelineOnDiagnostics(CosmosDiagnostics cosmosDiagnostics, RequestTimeline requestTimeline) { - cosmosResponseDiagnostics.clientSideRequestStatistics().setTransportClientRequestTimeline(requestTimeline); + cosmosDiagnostics.clientSideRequestStatistics().setTransportClientRequestTimeline(requestTimeline); } - public static void recordResponse(CosmosResponseDiagnostics cosmosResponseDiagnostics, - RxDocumentServiceRequest request, StoreResult storeResult) { - cosmosResponseDiagnostics.clientSideRequestStatistics().recordResponse(request, storeResult); + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static void recordResponse(CosmosDiagnostics cosmosDiagnostics, + RxDocumentServiceRequest request, StoreResult storeResult) { + cosmosDiagnostics.clientSideRequestStatistics().recordResponse(request, storeResult); } - public static void recordRetryContext(CosmosResponseDiagnostics cosmosResponseDiagnostics, - RxDocumentServiceRequest request) { - cosmosResponseDiagnostics.clientSideRequestStatistics().recordRetryContext(request); + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static void recordRetryContext(CosmosDiagnostics cosmosDiagnostics, + RxDocumentServiceRequest request) { + cosmosDiagnostics.clientSideRequestStatistics().recordRetryContext(request); } - public static MetadataDiagnosticsContext getMetaDataDiagnosticContext(CosmosResponseDiagnostics cosmosResponseDiagnostics){ - if(cosmosResponseDiagnostics == null) { + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static MetadataDiagnosticsContext getMetaDataDiagnosticContext(CosmosDiagnostics cosmosDiagnostics){ + if(cosmosDiagnostics == null) { return null; } - return cosmosResponseDiagnostics.clientSideRequestStatistics().getMetadataDiagnosticsContext(); + return cosmosDiagnostics.clientSideRequestStatistics().getMetadataDiagnosticsContext(); } - public static SerializationDiagnosticsContext getSerializationDiagnosticsContext(CosmosResponseDiagnostics cosmosResponseDiagnostics){ - if(cosmosResponseDiagnostics == null) { + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static SerializationDiagnosticsContext getSerializationDiagnosticsContext(CosmosDiagnostics cosmosDiagnostics){ + if(cosmosDiagnostics == null) { return null; } - return cosmosResponseDiagnostics.clientSideRequestStatistics().getSerializationDiagnosticsContext(); + return cosmosDiagnostics.clientSideRequestStatistics().getSerializationDiagnosticsContext(); } - public static void recordGatewayResponse(CosmosResponseDiagnostics cosmosResponseDiagnostics, + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static void recordGatewayResponse(CosmosDiagnostics cosmosDiagnostics, RxDocumentServiceRequest rxDocumentServiceRequest, StoreResponse storeResponse, CosmosClientException exception) { - cosmosResponseDiagnostics.clientSideRequestStatistics().recordGatewayResponse(rxDocumentServiceRequest, storeResponse, exception); + cosmosDiagnostics.clientSideRequestStatistics().recordGatewayResponse(rxDocumentServiceRequest, storeResponse, exception); } - public static String recordAddressResolutionStart(CosmosResponseDiagnostics cosmosResponseDiagnostics, + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static String recordAddressResolutionStart(CosmosDiagnostics cosmosDiagnostics, URI targetEndpoint) { - return cosmosResponseDiagnostics.clientSideRequestStatistics().recordAddressResolutionStart(targetEndpoint); + return cosmosDiagnostics.clientSideRequestStatistics().recordAddressResolutionStart(targetEndpoint); } - public static void recordAddressResolutionEnd(CosmosResponseDiagnostics cosmosResponseDiagnostics, + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static void recordAddressResolutionEnd(CosmosDiagnostics cosmosDiagnostics, String identifier) { - cosmosResponseDiagnostics.clientSideRequestStatistics().recordAddressResolutionEnd(identifier); + cosmosDiagnostics.clientSideRequestStatistics().recordAddressResolutionEnd(identifier); } - public static List getContactedReplicas(CosmosResponseDiagnostics cosmosResponseDiagnostics) { - return cosmosResponseDiagnostics.clientSideRequestStatistics().getContactedReplicas(); + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static List getContactedReplicas(CosmosDiagnostics cosmosDiagnostics) { + return cosmosDiagnostics.clientSideRequestStatistics().getContactedReplicas(); } - public static void setContactedReplicas(CosmosResponseDiagnostics cosmosResponseDiagnostics, + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static void setContactedReplicas(CosmosDiagnostics cosmosDiagnostics, List contactedReplicas) { - cosmosResponseDiagnostics.clientSideRequestStatistics().setContactedReplicas(contactedReplicas); + cosmosDiagnostics.clientSideRequestStatistics().setContactedReplicas(contactedReplicas); } - public static Set getFailedReplicas(CosmosResponseDiagnostics cosmosResponseDiagnostics) { - return cosmosResponseDiagnostics.clientSideRequestStatistics().getFailedReplicas(); + @Warning(value = INTERNAL_USE_ONLY_WARNING) + public static Set getFailedReplicas(CosmosDiagnostics cosmosDiagnostics) { + return cosmosDiagnostics.clientSideRequestStatistics().getFailedReplicas(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static ConcurrentMap queryMetricsFromFeedResponse(FeedResponse feedResponse) { return ModelBridgeInternal.queryMetrics(feedResponse); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static PartitionKeyInternal getPartitionKeyInternal(PartitionKey partitionKey) { return ModelBridgeInternal.getPartitionKeyInternal(partitionKey); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosItemProperties getProperties(CosmosAsyncItemResponse cosmosItemResponse) { return ModelBridgeInternal.getCosmosItemProperties(cosmosItemResponse); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosItemProperties getProperties(CosmosItemResponse cosmosItemResponse) { return ModelBridgeInternal.getCosmosItemProperties(cosmosItemResponse); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static int getHashCode(CosmosKeyCredential keyCredential) { return keyCredential.getKeyHashCode(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static String getLink(CosmosAsyncContainer cosmosAsyncContainer) { return cosmosAsyncContainer.getLink(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncConflict createCosmosAsyncConflict(String id, CosmosAsyncContainer container) { return new CosmosAsyncConflict(id, container); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncContainer createCosmosAsyncContainer(String id, CosmosAsyncDatabase database) { return new CosmosAsyncContainer(id, database); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncDatabase createCosmosAsyncDatabase(String id, CosmosAsyncClient client) { return new CosmosAsyncDatabase(id, client); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncPermission createCosmosAsyncPermission(String id, CosmosAsyncUser user) { return new CosmosAsyncPermission(id, user); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncStoredProcedure createCosmosAsyncStoredProcedure(String id, CosmosAsyncContainer cosmosContainer) { return new CosmosAsyncStoredProcedure(id, cosmosContainer); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncTrigger createCosmosAsyncTrigger(String id, CosmosAsyncContainer container) { return new CosmosAsyncTrigger(id, container); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncUserDefinedFunction createCosmosAsyncUserDefinedFunction(String id, CosmosAsyncContainer container) { return new CosmosAsyncUserDefinedFunction(id, container); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncUser createCosmosAsyncUser(String id, CosmosAsyncDatabase database) { return new CosmosAsyncUser(id, database); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosContainer createCosmosContainer(String id, CosmosDatabase database, CosmosAsyncContainer container) { return new CosmosContainer(id, database, container); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosDatabase createCosmosDatabase(String id, CosmosClient client, CosmosAsyncDatabase database) { return new CosmosDatabase(id, client, database); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosUser createCosmosUser(CosmosAsyncUser asyncUser, CosmosDatabase database, String id) { return new CosmosUser(asyncUser, database, id); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static ConsistencyLevel fromServiceSerializedFormat(String consistencyLevel) { return ConsistencyLevel.fromServiceSerializedFormat(consistencyLevel); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/ClientSideRequestStatistics.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/ClientSideRequestStatistics.java index e3ed5ecd1595..91c4552020f2 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/ClientSideRequestStatistics.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/ClientSideRequestStatistics.java @@ -77,7 +77,7 @@ class ClientSideRequestStatistics { this.serializationDiagnosticsContext = new SerializationDiagnosticsContext(); } - Duration getRequestLatency() { + Duration getDuration() { return Duration.between(requestStartTimeUTC, requestEndTimeUTC); } @@ -280,7 +280,7 @@ public void serialize( ClientSideRequestStatistics statistics, JsonGenerator generator, SerializerProvider provider) throws IOException { generator.writeStartObject(); - long requestLatency = statistics.getRequestLatency().toMillis(); + long requestLatency = statistics.getDuration().toMillis(); generator.writeNumberField("requestLatency", requestLatency); generator.writeStringField("requestStartTimeUTC", ZonedDateTimeSerializer.formatDateTime(statistics.requestStartTimeUTC)); generator.writeStringField("requestEndTimeUTC", ZonedDateTimeSerializer.formatDateTime(statistics.requestEndTimeUTC)); diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncClient.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncClient.java index 340169c3b700..3b1fbdc89b8d 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncClient.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncClient.java @@ -63,7 +63,7 @@ public final class CosmosAsyncClient implements Closeable { this.cosmosAuthorizationTokenResolver = builder.getAuthorizationTokenResolver(); this.cosmosKeyCredential = builder.getKeyCredential(); this.sessionCapturingOverride = builder.isSessionCapturingOverrideEnabled(); - this.enableTransportClientSharing = builder.isConnectionReuseAcrossClientsEnabled(); + this.enableTransportClientSharing = builder.isConnectionSharingAcrossClientsEnabled(); this.contentResponseOnWriteEnabled = builder.isContentResponseOnWriteEnabled(); this.asyncDocumentClient = new AsyncDocumentClient.Builder() .withServiceEndpoint(this.serviceEndpoint) diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncConflict.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncConflict.java index 3af9994a1b65..9eba16587f0d 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncConflict.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncConflict.java @@ -12,7 +12,7 @@ /** * Read and delete conflicts */ -public class CosmosAsyncConflict { +public final class CosmosAsyncConflict { private final CosmosAsyncContainer container; private String id; diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncPermission.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncPermission.java index f4798285b5aa..bcadf2cafd16 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncPermission.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncPermission.java @@ -70,18 +70,18 @@ public Mono read(CosmosPermissionRequestOptions o * The {@link Mono} upon successful completion will contain a single resource response with the replaced permission. * In case of failure the {@link Mono} will error. * - * @param permissionSettings the permission properties to use. + * @param permissionProperties the permission properties to use. * @param options the request options. * @return an {@link Mono} containing the single resource response with the replaced permission or an error. */ - public Mono replace(CosmosPermissionProperties permissionSettings, + public Mono replace(CosmosPermissionProperties permissionProperties, CosmosPermissionRequestOptions options) { if (options == null) { options = new CosmosPermissionRequestOptions(); } return cosmosUser.getDatabase() .getDocClientWrapper() - .replacePermission(ModelBridgeInternal.getV2Permissions(permissionSettings), + .replacePermission(ModelBridgeInternal.getV2Permissions(permissionProperties), ModelBridgeInternal.toRequestOptions(options)) .map(response -> ModelBridgeInternal.createCosmosAsyncPermissionResponse(response, cosmosUser)) .single(); diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncStoredProcedure.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncStoredProcedure.java index ed30120f035a..7365131d8758 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncStoredProcedure.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncStoredProcedure.java @@ -10,6 +10,8 @@ import com.azure.cosmos.models.ModelBridgeInternal; import reactor.core.publisher.Mono; +import java.util.List; + /** * The type Cosmos async stored procedure. */ @@ -122,11 +124,11 @@ public Mono delete(CosmosStoredProcedureRequ * response. * In case of failure the {@link Mono} will error. * - * @param procedureParams the array of procedure parameter values. + * @param procedureParams the list of procedure parameter values. * @param options the request options. * @return an {@link Mono} containing the single resource response with the stored procedure response or an error. */ - public Mono execute(Object[] procedureParams, + public Mono execute(List procedureParams, CosmosStoredProcedureRequestOptions options) { if (options == null) { options = new CosmosStoredProcedureRequestOptions(); diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosBridgeInternal.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosBridgeInternal.java index 9f8847a655cb..0ab8ce775bae 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosBridgeInternal.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosBridgeInternal.java @@ -5,29 +5,40 @@ import com.azure.cosmos.implementation.AsyncDocumentClient; import com.azure.cosmos.implementation.ConnectionPolicy; +import com.azure.cosmos.implementation.Warning; + +import static com.azure.cosmos.implementation.Warning.INTERNAL_USE_ONLY_WARNING; /** * DO NOT USE. For internal use only by the SDK. These methods might break at any time. No support will be provided. */ +@Warning(value = INTERNAL_USE_ONLY_WARNING) public final class CosmosBridgeInternal { + private CosmosBridgeInternal() {} + + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static AsyncDocumentClient getAsyncDocumentClient(CosmosClient client) { return client.asyncClient().getDocClientWrapper(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static AsyncDocumentClient getAsyncDocumentClient(CosmosAsyncClient client) { return client.getDocClientWrapper(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static AsyncDocumentClient getAsyncDocumentClient(CosmosAsyncDatabase cosmosAsyncDatabase) { return cosmosAsyncDatabase.getDocClientWrapper(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncDatabase getCosmosDatabaseWithNewClient(CosmosAsyncDatabase cosmosDatabase, CosmosAsyncClient client) { return new CosmosAsyncDatabase(cosmosDatabase.getId(), client); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncContainer getCosmosContainerWithNewClient(CosmosAsyncContainer cosmosContainer, CosmosAsyncDatabase cosmosDatabase, CosmosAsyncClient client) { @@ -35,26 +46,32 @@ public static CosmosAsyncContainer getCosmosContainerWithNewClient(CosmosAsyncCo CosmosBridgeInternal.getCosmosDatabaseWithNewClient(cosmosDatabase, client)); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static AsyncDocumentClient getContextClient(CosmosAsyncDatabase database) { return database.getClient().getContextClient(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static AsyncDocumentClient getContextClient(CosmosAsyncContainer container) { return container.getDatabase().getClient().getContextClient(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncContainer getCosmosAsyncContainer(CosmosContainer container) { return container.asyncContainer; } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static ConsistencyLevel getConsistencyLevel(CosmosClientBuilder cosmosClientBuilder) { return cosmosClientBuilder.getConsistencyLevel(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static ConnectionPolicy getConnectionPolicy(CosmosClientBuilder cosmosClientBuilder) { return cosmosClientBuilder.getConnectionPolicy(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosClientBuilder cloneCosmosClientBuilder(CosmosClientBuilder builder) { CosmosClientBuilder copy = new CosmosClientBuilder(); diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClientBuilder.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClientBuilder.java index afc3469d8a8f..94934c3d8fc1 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClientBuilder.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClientBuilder.java @@ -40,7 +40,7 @@ public class CosmosClientBuilder { private CosmosAuthorizationTokenResolver cosmosAuthorizationTokenResolver; private CosmosKeyCredential cosmosKeyCredential; private boolean sessionCapturingOverrideEnabled; - private boolean connectionReuseAcrossClientsEnabled; + private boolean connectionSharingAcrossClientsEnabled; private boolean contentResponseOnWriteEnabled; private String userAgentSuffix; private ThrottlingRetryOptions throttlingRetryOptions; @@ -69,7 +69,7 @@ public CosmosClientBuilder() { * @param sessionCapturingOverrideEnabled session capturing override * @return current cosmosClientBuilder */ - public CosmosClientBuilder sessionCapturingOverrideEnabled(boolean sessionCapturingOverrideEnabled) { + CosmosClientBuilder sessionCapturingOverrideEnabled(boolean sessionCapturingOverrideEnabled) { this.sessionCapturingOverrideEnabled = sessionCapturingOverrideEnabled; return this; } @@ -95,7 +95,7 @@ boolean isSessionCapturingOverrideEnabled() { * .key(key1) * .directMode() * .consistencyLevel(ConsistencyLevel.SESSION) - * .connectionReuseAcrossClientsEnabled(true) + * .connectionSharingAcrossClientsEnabled(true) * .buildAsyncClient(); * * CosmosAsyncClient client2 = new CosmosClientBuilder() @@ -103,7 +103,7 @@ boolean isSessionCapturingOverrideEnabled() { * .key(key2) * .directMode() * .consistencyLevel(ConsistencyLevel.SESSION) - * .connectionReuseAcrossClientsEnabled(true) + * .connectionSharingAcrossClientsEnabled(true) * .buildAsyncClient(); * * // when configured this way client1 and client2 will share connections when possible. @@ -116,11 +116,11 @@ boolean isSessionCapturingOverrideEnabled() { * Please note, when setting this option, the connection configuration (e.g., socket timeout config, idle timeout * config) of the first instantiated client will be used for all other client instances. * - * @param connectionReuseAcrossClientsEnabled connection sharing + * @param connectionSharingAcrossClientsEnabled connection sharing * @return current cosmosClientBuilder */ - public CosmosClientBuilder connectionReuseAcrossClientsEnabled(boolean connectionReuseAcrossClientsEnabled) { - this.connectionReuseAcrossClientsEnabled = true; + public CosmosClientBuilder connectionSharingAcrossClientsEnabled(boolean connectionSharingAcrossClientsEnabled) { + this.connectionSharingAcrossClientsEnabled = connectionSharingAcrossClientsEnabled; return this; } @@ -132,8 +132,8 @@ public CosmosClientBuilder connectionReuseAcrossClientsEnabled(boolean connectio * * @return the connection sharing across multiple clients */ - boolean isConnectionReuseAcrossClientsEnabled() { - return this.connectionReuseAcrossClientsEnabled; + boolean isConnectionSharingAcrossClientsEnabled() { + return this.connectionSharingAcrossClientsEnabled; } /** diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClientException.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClientException.java index 0399a421e457..aa7d6ac543e5 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClientException.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosClientException.java @@ -40,7 +40,7 @@ public class CosmosClientException extends AzureException { private final int statusCode; private final Map responseHeaders; - private CosmosResponseDiagnostics cosmosResponseDiagnostics; + private CosmosDiagnostics cosmosDiagnostics; private final RequestTimeline requestTimeline; private CosmosError cosmosError; @@ -134,10 +134,10 @@ protected CosmosClientException(String message, Exception exception, Map procedureParams, CosmosStoredProcedureRequestOptions options) throws CosmosClientException { return container.getScripts() .mapStoredProcedureResponseAndBlock(storedProcedure.execute(procedureParams, options)); diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/AsyncDocumentClient.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/AsyncDocumentClient.java index 3469f5e389be..cfc315ce1449 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/AsyncDocumentClient.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/AsyncDocumentClient.java @@ -739,7 +739,7 @@ Flux> queryStoredProcedures(String collectionLink, * @param procedureParams the array of procedure parameter values. * @return a {@link Mono} containing the single resource response with the stored procedure response or an error. */ - Mono executeStoredProcedure(String storedProcedureLink, Object[] procedureParams); + Mono executeStoredProcedure(String storedProcedureLink, List procedureParams); /** * Executes a stored procedure by the stored procedure link. @@ -754,7 +754,7 @@ Flux> queryStoredProcedures(String collectionLink, * @return a {@link Mono} containing the single resource response with the stored procedure response or an error. */ Mono executeStoredProcedure(String storedProcedureLink, RequestOptions options, - Object[] procedureParams); + List procedureParams); /** * Creates a trigger. diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ChangeFeedQueryImpl.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ChangeFeedQueryImpl.java index d893eef34c77..ad152b8a213b 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ChangeFeedQueryImpl.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ChangeFeedQueryImpl.java @@ -123,6 +123,6 @@ public Flux> executeAsync() { private Mono> executeRequestAsync(RxDocumentServiceRequest request) { return client.readFeed(request) - .map( rsp -> BridgeInternal.toChaneFeedResponsePage(rsp, klass)); + .map( rsp -> BridgeInternal.toChangeFeedResponsePage(rsp, klass)); } } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ClientRetryPolicy.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ClientRetryPolicy.java index 727fca6a3039..5ce81fc4a07a 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ClientRetryPolicy.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ClientRetryPolicy.java @@ -6,7 +6,7 @@ import com.azure.cosmos.implementation.directconnectivity.WebExceptionUtility; import com.azure.cosmos.BridgeInternal; import com.azure.cosmos.CosmosClientException; -import com.azure.cosmos.CosmosResponseDiagnostics; +import com.azure.cosmos.CosmosDiagnostics; import com.azure.cosmos.ThrottlingRetryOptions; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -39,7 +39,7 @@ public class ClientRetryPolicy extends DocumentClientRetryPolicy { private boolean canUseMultipleWriteLocations; private URI locationEndpoint; private RetryContext retryContext; - private CosmosResponseDiagnostics cosmosResponseDiagnostics; + private CosmosDiagnostics cosmosDiagnostics; private AtomicInteger cnt = new AtomicInteger(0); public ClientRetryPolicy(GlobalEndpointManager globalEndpointManager, @@ -54,7 +54,7 @@ public ClientRetryPolicy(GlobalEndpointManager globalEndpointManager, this.enableEndpointDiscovery = enableEndpointDiscovery; this.sessionTokenRetryCount = 0; this.canUseMultipleWriteLocations = false; - this.cosmosResponseDiagnostics = BridgeInternal.createCosmosResponseDiagnostics(); + this.cosmosDiagnostics = BridgeInternal.createCosmosDiagnostics(); } @Override @@ -74,8 +74,8 @@ public Mono shouldRetry(Exception e) { this.retryContext = null; // Received 403.3 on write region, initiate the endpoint re-discovery CosmosClientException clientException = Utils.as(e, CosmosClientException.class); - if (clientException != null && clientException.getResponseDiagnostics() != null) { - this.cosmosResponseDiagnostics = clientException.getResponseDiagnostics(); + if (clientException != null && clientException.getDiagnostics() != null) { + this.cosmosDiagnostics = clientException.getDiagnostics(); } if (clientException != null && Exceptions.isStatusCode(clientException, HttpConstants.StatusCodes.FORBIDDEN) && @@ -200,7 +200,7 @@ public void onBeforeSendRequest(RxDocumentServiceRequest request) { this.isReadRequest = request.isReadOnlyRequest(); this.canUseMultipleWriteLocations = this.globalEndpointManager.canUseMultipleWriteLocations(request); if (request.requestContext != null) { - request.requestContext.cosmosResponseDiagnostics = this.cosmosResponseDiagnostics; + request.requestContext.cosmosDiagnostics = this.cosmosDiagnostics; } // clear previous location-based routing directive diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/DocumentServiceRequestContext.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/DocumentServiceRequestContext.java index bb53c79d82ab..40f82f908f28 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/DocumentServiceRequestContext.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/DocumentServiceRequestContext.java @@ -4,7 +4,7 @@ package com.azure.cosmos.implementation; import com.azure.cosmos.ConsistencyLevel; -import com.azure.cosmos.CosmosResponseDiagnostics; +import com.azure.cosmos.CosmosDiagnostics; import com.azure.cosmos.implementation.directconnectivity.StoreResponse; import com.azure.cosmos.implementation.directconnectivity.StoreResult; import com.azure.cosmos.implementation.directconnectivity.TimeoutHelper; @@ -36,7 +36,7 @@ public class DocumentServiceRequestContext implements Cloneable { public volatile List storeResponses; public volatile StoreResult quorumSelectedStoreResponse; public volatile PartitionKeyInternal effectivePartitionKey; - public volatile CosmosResponseDiagnostics cosmosResponseDiagnostics; + public volatile CosmosDiagnostics cosmosDiagnostics; public RetryContext retryContext; public DocumentServiceRequestContext() { @@ -144,7 +144,7 @@ public DocumentServiceRequestContext clone() { context.performLocalRefreshOnGoneException = this.performLocalRefreshOnGoneException; context.effectivePartitionKey = this.effectivePartitionKey; context.performedBackgroundAddressRefresh = this.performedBackgroundAddressRefresh; - context.cosmosResponseDiagnostics = this.cosmosResponseDiagnostics; + context.cosmosDiagnostics = this.cosmosDiagnostics; context.retryContext = new RetryContext(this.retryContext); return context; diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/InvalidPartitionExceptionRetryPolicy.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/InvalidPartitionExceptionRetryPolicy.java index a5ba876809bb..89d9827026f1 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/InvalidPartitionExceptionRetryPolicy.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/InvalidPartitionExceptionRetryPolicy.java @@ -55,12 +55,12 @@ public Mono shouldRetry(Exception e) { // TODO: this is blocking. is that fine? if(this.feedOptions != null) { this.clientCollectionCache.refresh( - BridgeInternal.getMetaDataDiagnosticContext(this.request.requestContext.cosmosResponseDiagnostics), + BridgeInternal.getMetaDataDiagnosticContext(this.request.requestContext.cosmosDiagnostics), collectionLink, this.feedOptions.getProperties()); } else { this.clientCollectionCache.refresh( - BridgeInternal.getMetaDataDiagnosticContext(this.request.requestContext.cosmosResponseDiagnostics), + BridgeInternal.getMetaDataDiagnosticContext(this.request.requestContext.cosmosDiagnostics), collectionLink, null); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/PartitionKeyMismatchRetryPolicy.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/PartitionKeyMismatchRetryPolicy.java index 061a068b7075..75ece98455eb 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/PartitionKeyMismatchRetryPolicy.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/PartitionKeyMismatchRetryPolicy.java @@ -66,12 +66,12 @@ public Mono shouldRetry(Exception exception) { //this.clientCollectionCache.refresh(clientException.ResourceAddress); if (this.options != null) { this.clientCollectionCache.refresh( - BridgeInternal.getMetaDataDiagnosticContext(this.request.requestContext.cosmosResponseDiagnostics), + BridgeInternal.getMetaDataDiagnosticContext(this.request.requestContext.cosmosDiagnostics), collectionLink, this.options.getProperties()); } else { this.clientCollectionCache.refresh( - BridgeInternal.getMetaDataDiagnosticContext(this.request.requestContext.cosmosResponseDiagnostics), + BridgeInternal.getMetaDataDiagnosticContext(this.request.requestContext.cosmosDiagnostics), collectionLink, null); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/PartitionKeyRangeGoneRetryPolicy.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/PartitionKeyRangeGoneRetryPolicy.java index 15a215dc6d3e..310313f26fd8 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/PartitionKeyRangeGoneRetryPolicy.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/PartitionKeyRangeGoneRetryPolicy.java @@ -68,13 +68,13 @@ public Mono shouldRetry(Exception exception) { request.properties = this.feedOptions.getProperties(); } Mono> collectionObs = this.collectionCache.resolveCollectionAsync( - BridgeInternal.getMetaDataDiagnosticContext(this.request.requestContext.cosmosResponseDiagnostics), + BridgeInternal.getMetaDataDiagnosticContext(this.request.requestContext.cosmosDiagnostics), request); return collectionObs.flatMap(collectionValueHolder -> { Mono> routingMapObs = this.partitionKeyRangeCache.tryLookupAsync( - BridgeInternal.getMetaDataDiagnosticContext(this.request.requestContext.cosmosResponseDiagnostics), + BridgeInternal.getMetaDataDiagnosticContext(this.request.requestContext.cosmosDiagnostics), collectionValueHolder.v.getResourceId(), null, request.properties); diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RenameCollectionAwareClientRetryPolicy.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RenameCollectionAwareClientRetryPolicy.java index 1c578cd83f7f..ede5d14fd3aa 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RenameCollectionAwareClientRetryPolicy.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RenameCollectionAwareClientRetryPolicy.java @@ -62,7 +62,7 @@ public Mono shouldRetry(Exception e) { request.forceNameCacheRefresh = true; request.requestContext.resolvedCollectionRid = null; - Mono> collectionObs = this.collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), request); + Mono> collectionObs = this.collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), request); return collectionObs.flatMap(collectionValueHolder -> { if (collectionValueHolder.v == null) { diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ResourceResponse.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ResourceResponse.java index 0bb6d242b04b..e624e686eb09 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ResourceResponse.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/ResourceResponse.java @@ -3,7 +3,7 @@ package com.azure.cosmos.implementation; -import com.azure.cosmos.CosmosResponseDiagnostics; +import com.azure.cosmos.CosmosDiagnostics; import com.azure.cosmos.implementation.apachecommons.lang.StringUtils; import java.time.Duration; @@ -322,12 +322,12 @@ public long getLazyIndexingProgress() { } /** - * Gets the request diagnostic statistics for the current request to Azure Cosmos DB service. + * Gets the diagnostic statistics for the current request to Azure Cosmos DB service. * - * @return request diagnostic statistics for the current request to Azure Cosmos DB service. + * @return diagnostic statistics for the current request to Azure Cosmos DB service. */ - public CosmosResponseDiagnostics getResponseDiagnostics() { - return this.response.getCosmosResponseRequestDiagnosticStatistics(); + public CosmosDiagnostics getDiagnostics() { + return this.response.getCosmosDiagnostics(); } /** @@ -335,13 +335,13 @@ public CosmosResponseDiagnostics getResponseDiagnostics() { * * @return end-to-end request latency for the current request to Azure Cosmos DB service. */ - public Duration getRequestLatency() { - CosmosResponseDiagnostics cosmosResponseDiagnostics = this.response.getCosmosResponseRequestDiagnosticStatistics(); - if (cosmosResponseDiagnostics == null) { + public Duration getDuration() { + CosmosDiagnostics cosmosDiagnostics = this.response.getCosmosDiagnostics(); + if (cosmosDiagnostics == null) { return Duration.ZERO; } - return cosmosResponseDiagnostics.getRequestLatency(); + return cosmosDiagnostics.getDuration(); } /** @@ -349,12 +349,12 @@ public Duration getRequestLatency() { * * @return diagnostics information for the current request to Azure Cosmos DB service. */ - public String getCosmosResponseDiagnosticString() { - CosmosResponseDiagnostics cosmosResponseRequestDiagnosticStatistics = this.response.getCosmosResponseRequestDiagnosticStatistics(); - if (cosmosResponseRequestDiagnosticStatistics == null) { + public String getCosmosDiagnosticString() { + CosmosDiagnostics cosmosDiagnosticStatistics = this.response.getCosmosDiagnostics(); + if (cosmosDiagnosticStatistics == null) { return StringUtils.EMPTY; } - return cosmosResponseRequestDiagnosticStatistics.toString(); + return cosmosDiagnosticStatistics.toString(); } /** diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentClientImpl.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentClientImpl.java index ea20e522580a..31e246975910 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentClientImpl.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentClientImpl.java @@ -437,7 +437,7 @@ private Mono> createDatabaseInternal(Database databas retryPolicyInstance.onBeforeSendRequest(request); } - SerializationDiagnosticsContext serializationDiagnosticsContext = BridgeInternal.getSerializationDiagnosticsContext(request.requestContext.cosmosResponseDiagnostics); + SerializationDiagnosticsContext serializationDiagnosticsContext = BridgeInternal.getSerializationDiagnosticsContext(request.requestContext.cosmosDiagnostics); if (serializationDiagnosticsContext != null) { serializationDiagnosticsContext.addSerializationDiagnostics(serializationDiagnostics); } @@ -615,7 +615,7 @@ private Mono> createCollectionInternal(Stri retryPolicyInstance.onBeforeSendRequest(request); } - SerializationDiagnosticsContext serializationDiagnosticsContext = BridgeInternal.getSerializationDiagnosticsContext(request.requestContext.cosmosResponseDiagnostics); + SerializationDiagnosticsContext serializationDiagnosticsContext = BridgeInternal.getSerializationDiagnosticsContext(request.requestContext.cosmosDiagnostics); if (serializationDiagnosticsContext != null) { serializationDiagnosticsContext.addSerializationDiagnostics(serializationDiagnostics); } @@ -668,7 +668,7 @@ private Mono> replaceCollectionInternal(Doc retryPolicyInstance.onBeforeSendRequest(request); } - SerializationDiagnosticsContext serializationDiagnosticsContext = BridgeInternal.getSerializationDiagnosticsContext(request.requestContext.cosmosResponseDiagnostics); + SerializationDiagnosticsContext serializationDiagnosticsContext = BridgeInternal.getSerializationDiagnosticsContext(request.requestContext.cosmosDiagnostics); if (serializationDiagnosticsContext != null) { serializationDiagnosticsContext.addSerializationDiagnostics(serializationDiagnostics); } @@ -815,11 +815,11 @@ public Flux> queryCollections(String databaseLi return createQuery(databaseLink, querySpec, options, DocumentCollection.class, ResourceType.DocumentCollection); } - private static String serializeProcedureParams(Object[] objectArray) { - String[] stringArray = new String[objectArray.length]; + private static String serializeProcedureParams(List objectArray) { + String[] stringArray = new String[objectArray.size()]; - for (int i = 0; i < objectArray.length; ++i) { - Object object = objectArray[i]; + for (int i = 0; i < objectArray.size(); ++i) { + Object object = objectArray.get(i); if (object instanceof JsonSerializable) { stringArray[i] = ModelBridgeInternal.toJsonFromJsonSerializable((JsonSerializable) object); } else { @@ -959,7 +959,7 @@ private Mono addPartitionKeyInformation(RxDocumentServ Document document, RequestOptions options) { - Mono> collectionObs = this.collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), request); + Mono> collectionObs = this.collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), request); return collectionObs .map(collectionValueHolder -> { addPartitionKeyInformation(request, contentAsByteBuffer, document, options, collectionValueHolder.v); @@ -1011,7 +1011,7 @@ private void addPartitionKeyInformation(RxDocumentServiceRequest request, serializationEndTime, SerializationDiagnosticsContext.SerializationType.PARTITION_KEY_FETCH_SERIALIZATION ); - SerializationDiagnosticsContext serializationDiagnosticsContext = BridgeInternal.getSerializationDiagnosticsContext(request.requestContext.cosmosResponseDiagnostics); + SerializationDiagnosticsContext serializationDiagnosticsContext = BridgeInternal.getSerializationDiagnosticsContext(request.requestContext.cosmosDiagnostics); if (serializationDiagnosticsContext != null) { serializationDiagnosticsContext.addSerializationDiagnostics(serializationDiagnostics); } @@ -1078,12 +1078,12 @@ private Mono getCreateDocumentRequest(DocumentClientRe requestRetryPolicy.onBeforeSendRequest(request); } - SerializationDiagnosticsContext serializationDiagnosticsContext = BridgeInternal.getSerializationDiagnosticsContext(request.requestContext.cosmosResponseDiagnostics); + SerializationDiagnosticsContext serializationDiagnosticsContext = BridgeInternal.getSerializationDiagnosticsContext(request.requestContext.cosmosDiagnostics); if (serializationDiagnosticsContext != null) { serializationDiagnosticsContext.addSerializationDiagnostics(serializationDiagnostics); } - Mono> collectionObs = this.collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), request); + Mono> collectionObs = this.collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), request); return addPartitionKeyInformation(request, content, document, options, collectionObs); } @@ -1346,12 +1346,12 @@ private Mono> replaceDocumentInternal(String document retryPolicyInstance.onBeforeSendRequest(request); } - SerializationDiagnosticsContext serializationDiagnosticsContext = BridgeInternal.getSerializationDiagnosticsContext(request.requestContext.cosmosResponseDiagnostics); + SerializationDiagnosticsContext serializationDiagnosticsContext = BridgeInternal.getSerializationDiagnosticsContext(request.requestContext.cosmosDiagnostics); if (serializationDiagnosticsContext != null) { serializationDiagnosticsContext.addSerializationDiagnostics(serializationDiagnostics); } - Mono> collectionObs = collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), request); + Mono> collectionObs = collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), request); Mono requestObs = addPartitionKeyInformation(request, content, document, options, collectionObs); return requestObs.flatMap(req -> { @@ -1381,7 +1381,7 @@ private Mono> deleteDocumentInternal(String documentL retryPolicyInstance.onBeforeSendRequest(request); } - Mono> collectionObs = collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), request); + Mono> collectionObs = collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), request); Mono requestObs = addPartitionKeyInformation(request, null, null, options, collectionObs); @@ -1417,7 +1417,7 @@ private Mono> readDocumentInternal(String documentLin retryPolicyInstance.onBeforeSendRequest(request); } - Mono> collectionObs = this.collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), request); + Mono> collectionObs = this.collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), request); Mono requestObs = addPartitionKeyInformation(request, null, null, options, collectionObs); @@ -1466,7 +1466,7 @@ public Mono> readMany( } Mono> valueHolderMono = partitionKeyRangeCache - .tryLookupAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), + .tryLookupAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), collection.getResourceId(), null, null); @@ -2003,19 +2003,19 @@ public Flux> queryStoredProcedures(String collecti @Override public Mono executeStoredProcedure(String storedProcedureLink, - Object[] procedureParams) { + List procedureParams) { return this.executeStoredProcedure(storedProcedureLink, null, procedureParams); } @Override public Mono executeStoredProcedure(String storedProcedureLink, - RequestOptions options, Object[] procedureParams) { + RequestOptions options, List procedureParams) { DocumentClientRetryPolicy documentClientRetryPolicy = this.resetSessionTokenRetryPolicy.getRequestPolicy(); return ObservableHelper.inlineIfPossibleAsObs(() -> executeStoredProcedureInternal(storedProcedureLink, options, procedureParams, documentClientRetryPolicy), documentClientRetryPolicy); } private Mono executeStoredProcedureInternal(String storedProcedureLink, - RequestOptions options, Object[] procedureParams, DocumentClientRetryPolicy retryPolicy) { + RequestOptions options, List procedureParams, DocumentClientRetryPolicy retryPolicy) { try { logger.debug("Executing a StoredProcedure. storedProcedureLink [{}]", storedProcedureLink); @@ -2026,7 +2026,7 @@ private Mono executeStoredProcedureInternal(String stor RxDocumentServiceRequest request = RxDocumentServiceRequest.create(OperationType.ExecuteJavaScript, ResourceType.StoredProcedure, path, - procedureParams != null ? RxDocumentClientImpl.serializeProcedureParams(procedureParams) : "", + procedureParams != null && !procedureParams.isEmpty() ? RxDocumentClientImpl.serializeProcedureParams(procedureParams) : "", requestHeaders, options); Mono reqObs = addPartitionKeyInformation(request, null, null, options); diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentServiceResponse.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentServiceResponse.java index c23309bbe3b4..55c018e5db3f 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentServiceResponse.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxDocumentServiceResponse.java @@ -8,7 +8,7 @@ import com.azure.cosmos.implementation.directconnectivity.Address; import com.azure.cosmos.implementation.directconnectivity.StoreResponse; import com.azure.cosmos.BridgeInternal; -import com.azure.cosmos.CosmosResponseDiagnostics; +import com.azure.cosmos.CosmosDiagnostics; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -180,10 +180,10 @@ private String getOwnerFullName() { return null; } - CosmosResponseDiagnostics getCosmosResponseRequestDiagnosticStatistics() { + CosmosDiagnostics getCosmosDiagnostics() { if (this.storeResponse == null) { return null; } - return this.storeResponse.getCosmosResponseDiagnostics(); + return this.storeResponse.getCosmosDiagnostics(); } } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxGatewayStoreModel.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxGatewayStoreModel.java index 731fa517e06d..8c0771f67925 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxGatewayStoreModel.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/RxGatewayStoreModel.java @@ -140,8 +140,8 @@ public Mono performRequest(RxDocumentServiceRequest r try { - if (request.requestContext.cosmosResponseDiagnostics == null) { - request.requestContext.cosmosResponseDiagnostics = BridgeInternal.createCosmosResponseDiagnostics(); + if (request.requestContext.cosmosDiagnostics == null) { + request.requestContext.cosmosDiagnostics = BridgeInternal.createCosmosDiagnostics(); } URI uri = getUri(request); @@ -266,7 +266,7 @@ private Mono toDocumentServiceResponse(Mono toDocumentServiceResponse(Mono toDocumentServiceResponse(Mono> resolveCollectionAsync( } Mono> collectionInfoObs = this.resolveByPartitionKeyRangeIdentityAsync( - BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics),request.getPartitionKeyRangeIdentity(), request.properties); + BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics),request.getPartitionKeyRangeIdentity(), request.properties); if (init != null) { collectionInfoObs = init.then(collectionInfoObs); diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/AddressResolver.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/AddressResolver.java index c978936821e0..483653434b4f 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/AddressResolver.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/AddressResolver.java @@ -334,12 +334,12 @@ private Mono getOrRefreshRoutingMap(RxDocumentServiceRequest reque (request.getPartitionKeyRangeIdentity() != null && request.getPartitionKeyRangeIdentity().getCollectionRid() != null); state.collectionRoutingMapCacheIsUptoDate = false; - Mono> collectionObs = this.collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), request); + Mono> collectionObs = this.collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), request); Mono stateObs = collectionObs.flatMap(collectionValueHolder -> { state.collection = collectionValueHolder.v; Mono> routingMapObs = - this.collectionRoutingMapCache.tryLookupAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), collectionValueHolder.v.getResourceId(), null, request.forceCollectionRoutingMapRefresh, request.properties); + this.collectionRoutingMapCache.tryLookupAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), collectionValueHolder.v.getResourceId(), null, request.forceCollectionRoutingMapRefresh, request.properties); final Utils.ValueHolder underlyingCollection = collectionValueHolder; return routingMapObs.flatMap(routingMapValueHolder -> { state.routingMap = routingMapValueHolder.v; @@ -348,7 +348,7 @@ private Mono getOrRefreshRoutingMap(RxDocumentServiceRequest reque state.collectionRoutingMapCacheIsUptoDate = true; request.forcePartitionKeyRangeRefresh = false; if (routingMapValueHolder.v != null) { - return this.collectionRoutingMapCache.tryLookupAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), underlyingCollection.v.getResourceId(), routingMapValueHolder.v, request.properties) + return this.collectionRoutingMapCache.tryLookupAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), underlyingCollection.v.getResourceId(), routingMapValueHolder.v, request.properties) .map(newRoutingMapValueHolder -> { state.routingMap = newRoutingMapValueHolder.v; return state; @@ -369,12 +369,12 @@ private Mono getOrRefreshRoutingMap(RxDocumentServiceRequest reque newState.collectionCacheIsUptoDate = true; newState.collectionRoutingMapCacheIsUptoDate = false; - Mono> newCollectionObs = this.collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), request); + Mono> newCollectionObs = this.collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), request); return newCollectionObs.flatMap(collectionValueHolder -> { newState.collection = collectionValueHolder.v; Mono> newRoutingMapObs = this.collectionRoutingMapCache.tryLookupAsync( - BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), + BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), collectionValueHolder.v.getResourceId(), null, request.properties); @@ -464,7 +464,7 @@ private Mono resolveAddressesAndIdentityAsync( if (!funcState.collectionRoutingMapCacheIsUptoDate) { funcState.collectionRoutingMapCacheIsUptoDate = true; Mono> newRoutingMapObs = this.collectionRoutingMapCache.tryLookupAsync( - BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), + BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), funcState.collection.getResourceId(), funcState.routingMap, request.properties); @@ -512,7 +512,7 @@ private Mono resolveAddressesAndIdentityAsync( request.forceNameCacheRefresh = true; state.collectionCacheIsUptoDate = true; - Mono> newCollectionObs = this.collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), request); + Mono> newCollectionObs = this.collectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), request); Mono newRefreshStateObs = newCollectionObs.flatMap(collectionValueHolder -> { state.collection = collectionValueHolder.v; @@ -521,7 +521,7 @@ private Mono resolveAddressesAndIdentityAsync( // for this new collection rid. Mark it as such. state.collectionRoutingMapCacheIsUptoDate = false; Mono> newRoutingMap = this.collectionRoutingMapCache.tryLookupAsync( - BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), + BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), collectionValueHolder.v.getResourceId(), null, request.properties); diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/ConsistencyReader.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/ConsistencyReader.java index a99c63a9d414..7d4315380f2c 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/ConsistencyReader.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/ConsistencyReader.java @@ -189,8 +189,8 @@ public Mono readAsync(RxDocumentServiceRequest entity, entity.requestContext.requestChargeTracker = new RequestChargeTracker(); } - if(entity.requestContext.cosmosResponseDiagnostics == null) { - entity.requestContext.cosmosResponseDiagnostics = BridgeInternal.createCosmosResponseDiagnostics(); + if(entity.requestContext.cosmosDiagnostics == null) { + entity.requestContext.cosmosDiagnostics = BridgeInternal.createCosmosDiagnostics(); } entity.requestContext.forceRefreshAddressCache = forceRefresh; diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/ConsistencyWriter.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/ConsistencyWriter.java index 99089703d62e..f0ab2fe4c02b 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/ConsistencyWriter.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/ConsistencyWriter.java @@ -122,8 +122,8 @@ Mono writePrivateAsync( request.requestContext.requestChargeTracker = new RequestChargeTracker(); } - if (request.requestContext.cosmosResponseDiagnostics == null) { - request.requestContext.cosmosResponseDiagnostics = BridgeInternal.createCosmosResponseDiagnostics(); + if (request.requestContext.cosmosDiagnostics == null) { + request.requestContext.cosmosDiagnostics = BridgeInternal.createCosmosDiagnostics(); } request.requestContext.forceRefreshAddressCache = forceRefresh; @@ -137,7 +137,7 @@ Mono writePrivateAsync( try { List contactedReplicas = new ArrayList<>(); replicaAddresses.forEach(replicaAddress -> contactedReplicas.add(replicaAddress.getPhysicalUri().getURI())); - BridgeInternal.setContactedReplicas(request.requestContext.cosmosResponseDiagnostics, contactedReplicas); + BridgeInternal.setContactedReplicas(request.requestContext.cosmosDiagnostics, contactedReplicas); return Mono.just(AddressSelector.getPrimaryUri(request, replicaAddresses)); } catch (GoneException e) { // RxJava1 doesn't allow throwing checked exception from Observable operators @@ -168,7 +168,7 @@ Mono writePrivateAsync( Throwable unwrappedException = Exceptions.unwrap(t); CosmosClientException ex = Utils.as(unwrappedException, CosmosClientException.class); try { - BridgeInternal.recordResponse(request.requestContext.cosmosResponseDiagnostics, request, + BridgeInternal.recordResponse(request.requestContext.cosmosDiagnostics, request, storeReader.createStoreResult(null, ex, false, false, primaryUri)); } catch (Exception e) { logger.error("Error occurred while recording response", e); @@ -189,7 +189,7 @@ Mono writePrivateAsync( }).flatMap(response -> { try { - BridgeInternal.recordResponse(request.requestContext.cosmosResponseDiagnostics, request, + BridgeInternal.recordResponse(request.requestContext.cosmosDiagnostics, request, storeReader.createStoreResult(response, null, false, false, primaryURI.get())); } catch (Exception e) { logger.error("Error occurred while recording response", e); diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/DirectBridgeInternal.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/DirectBridgeInternal.java index e5cf6fe4981c..b764f6ad04df 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/DirectBridgeInternal.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/DirectBridgeInternal.java @@ -3,7 +3,7 @@ package com.azure.cosmos.implementation.directconnectivity; -import com.azure.cosmos.CosmosResponseDiagnostics; +import com.azure.cosmos.CosmosDiagnostics; import com.azure.cosmos.implementation.RequestTimeline; /** @@ -12,8 +12,8 @@ **/ public class DirectBridgeInternal { - public static void setCosmosResponseDiagnostics(StoreResponse storeResponse, CosmosResponseDiagnostics cosmosResponseDiagnostics) { - storeResponse.setCosmosResponseDiagnostics(cosmosResponseDiagnostics); + public static void setCosmosDiagnostics(StoreResponse storeResponse, CosmosDiagnostics cosmosDiagnostics) { + storeResponse.setCosmosDiagnostics(cosmosDiagnostics); } public static int getSubStatusCode(StoreResponse storeResponse) { diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/GatewayAddressCache.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/GatewayAddressCache.java index bdb8f3483d91..7e6094382861 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/GatewayAddressCache.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/GatewayAddressCache.java @@ -308,7 +308,7 @@ public Mono> getServerAddressesViaGatewayAsync( Mono dsrObs = HttpClientUtils.parseResponseAsync(httpResponseMono, httpRequest); return dsrObs.map( dsr -> { - MetadataDiagnosticsContext metadataDiagnosticsContext = BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics); + MetadataDiagnosticsContext metadataDiagnosticsContext = BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics); if (metadataDiagnosticsContext != null) { ZonedDateTime addressCallEndTime = ZonedDateTime.now(ZoneOffset.UTC); MetadataDiagnostics metaDataDiagnostic = new MetadataDiagnostics(addressCallStartTime, @@ -495,7 +495,7 @@ public Mono> getMasterAddressesViaGatewayAsync( return dsrObs.map( dsr -> { - MetadataDiagnosticsContext metadataDiagnosticsContext = BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics); + MetadataDiagnosticsContext metadataDiagnosticsContext = BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics); if (metadataDiagnosticsContext != null) { ZonedDateTime addressCallEndTime = ZonedDateTime.now(ZoneOffset.UTC); MetadataDiagnostics metaDataDiagnostic = new MetadataDiagnostics(addressCallStartTime, @@ -576,16 +576,16 @@ private boolean notAllReplicasAvailable(AddressInformation[] addressInformations } private static String logAddressResolutionStart(RxDocumentServiceRequest request, URI targetEndpointUrl) { - if (request.requestContext.cosmosResponseDiagnostics != null) { - return BridgeInternal.recordAddressResolutionStart(request.requestContext.cosmosResponseDiagnostics, targetEndpointUrl); + if (request.requestContext.cosmosDiagnostics != null) { + return BridgeInternal.recordAddressResolutionStart(request.requestContext.cosmosDiagnostics, targetEndpointUrl); } return null; } private static void logAddressResolutionEnd(RxDocumentServiceRequest request, String identifier) { - if (request.requestContext.cosmosResponseDiagnostics != null) { - BridgeInternal.recordAddressResolutionEnd(request.requestContext.cosmosResponseDiagnostics, identifier); + if (request.requestContext.cosmosDiagnostics != null) { + BridgeInternal.recordAddressResolutionEnd(request.requestContext.cosmosDiagnostics, identifier); } } } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/ReplicatedResourceClient.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/ReplicatedResourceClient.java index 1018428f7f7c..bcba655226d7 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/ReplicatedResourceClient.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/ReplicatedResourceClient.java @@ -119,8 +119,8 @@ public Mono invokeAsync(RxDocumentServiceRequest request, // 2. enableReadRequestsFallback is set to true. (can only ever be true if // direct mode, on client) if (request.isReadOnlyRequest() && this.enableReadRequestsFallback) { - if (request.requestContext.cosmosResponseDiagnostics == null) { - request.requestContext.cosmosResponseDiagnostics = BridgeInternal.createCosmosResponseDiagnostics(); + if (request.requestContext.cosmosDiagnostics == null) { + request.requestContext.cosmosDiagnostics = BridgeInternal.createCosmosDiagnostics(); } RxDocumentServiceRequest freshRequest = request.clone(); inBackoffFuncDelegate = (Quadruple forceRefreshAndTimeout) -> { diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/RntbdTransportClient.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/RntbdTransportClient.java index 940ff511a593..c6e99db27cff 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/RntbdTransportClient.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/RntbdTransportClient.java @@ -127,8 +127,8 @@ public Mono invokeStoreAsync(final Uri addressUri, final RxDocume record.stage(RntbdRequestRecord.Stage.COMPLETED); - if (request.requestContext.cosmosResponseDiagnostics == null) { - request.requestContext.cosmosResponseDiagnostics = BridgeInternal.createCosmosResponseDiagnostics(); + if (request.requestContext.cosmosDiagnostics == null) { + request.requestContext.cosmosDiagnostics = BridgeInternal.createCosmosDiagnostics(); } if (response != null) { diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/StoreClient.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/StoreClient.java index c7105afaddff..4f12a9654ee3 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/StoreClient.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/StoreClient.java @@ -95,8 +95,8 @@ public Mono processMessageAsync(RxDocumentServiceRequ return; } - BridgeInternal.recordRetryContext(request.requestContext.cosmosResponseDiagnostics, request); - exception = BridgeInternal.setCosmosResponseDiagnostics(exception, request.requestContext.cosmosResponseDiagnostics); + BridgeInternal.recordRetryContext(request.requestContext.cosmosDiagnostics, request); + exception = BridgeInternal.setCosmosDiagnostics(exception, request.requestContext.cosmosDiagnostics); handleUnsuccessfulStoreResponse(request, exception); } catch (Throwable throwable) { @@ -142,8 +142,8 @@ private RxDocumentServiceResponse completeResponse( this.updateResponseHeader(request, headers); this.captureSessionToken(request, headers); - BridgeInternal.recordRetryContext(request.requestContext.cosmosResponseDiagnostics, request); - storeResponse.setCosmosResponseDiagnostics(request.requestContext.cosmosResponseDiagnostics); + BridgeInternal.recordRetryContext(request.requestContext.cosmosDiagnostics, request); + storeResponse.setCosmosDiagnostics(request.requestContext.cosmosDiagnostics); return new RxDocumentServiceResponse(storeResponse); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/StoreReader.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/StoreReader.java index 7aed04819bfc..5d279cbedf67 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/StoreReader.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/StoreReader.java @@ -94,8 +94,8 @@ public Mono> readMultipleReplicaAsync( String originalSessionToken = entity.getHeaders().get(HttpConstants.HttpHeaders.SESSION_TOKEN); - if (entity.requestContext.cosmosResponseDiagnostics == null) { - entity.requestContext.cosmosResponseDiagnostics = BridgeInternal.createCosmosResponseDiagnostics(); + if (entity.requestContext.cosmosDiagnostics == null) { + entity.requestContext.cosmosDiagnostics = BridgeInternal.createCosmosDiagnostics(); } Mono readQuorumResultObs = this.readMultipleReplicasInternalAsync( @@ -150,7 +150,7 @@ private Flux toStoreResult(RxDocumentServiceRequest request, readMode != ReadMode.Strong, storeRespAndURI.getRight()); - BridgeInternal.getContactedReplicas(request.requestContext.cosmosResponseDiagnostics).add(storeRespAndURI.getRight().getURI()); + BridgeInternal.getContactedReplicas(request.requestContext.cosmosDiagnostics).add(storeRespAndURI.getRight().getURI()); return Flux.just(storeResult); } catch (Exception e) { // RxJava1 doesn't allow throwing checked exception from Observable operators @@ -173,7 +173,7 @@ private Flux toStoreResult(RxDocumentServiceRequest request, readMode != ReadMode.Strong, null); if (storeException instanceof TransportException) { - BridgeInternal.getFailedReplicas(request.requestContext.cosmosResponseDiagnostics).add(storeRespAndURI.getRight().getURI()); + BridgeInternal.getFailedReplicas(request.requestContext.cosmosDiagnostics).add(storeRespAndURI.getRight().getURI()); } return Flux.just(storeResult); } catch (Exception e) { @@ -248,7 +248,7 @@ private Flux> readFromReplicas(List resultCollect entity.requestContext.requestChargeTracker.addCharge(srr.requestCharge); try { - BridgeInternal.recordResponse(entity.requestContext.cosmosResponseDiagnostics, entity, srr); + BridgeInternal.recordResponse(entity.requestContext.cosmosDiagnostics, entity, srr); } catch (Exception e) { logger.error("Unexpected failure while recording response", e); } @@ -446,8 +446,8 @@ public Mono readPrimaryAsync( } String originalSessionToken = entity.getHeaders().get(HttpConstants.HttpHeaders.SESSION_TOKEN); - if (entity.requestContext.cosmosResponseDiagnostics == null) { - entity.requestContext.cosmosResponseDiagnostics = BridgeInternal.createCosmosResponseDiagnostics(); + if (entity.requestContext.cosmosDiagnostics == null) { + entity.requestContext.cosmosDiagnostics = BridgeInternal.createCosmosDiagnostics(); } return this.readPrimaryInternalAsync( @@ -565,7 +565,7 @@ private Mono readPrimaryInternalAsync( return storeResultObs.map(storeResult -> { try { - BridgeInternal.recordResponse(entity.requestContext.cosmosResponseDiagnostics, entity, storeResult); + BridgeInternal.recordResponse(entity.requestContext.cosmosDiagnostics, entity, storeResult); } catch (Exception e) { logger.error("Unexpected failure while recording response", e); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/StoreResponse.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/StoreResponse.java index 45ec34a554e4..b4d8de1ad026 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/StoreResponse.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/StoreResponse.java @@ -3,15 +3,13 @@ package com.azure.cosmos.implementation.directconnectivity; -import com.azure.cosmos.CosmosResponseDiagnostics; +import com.azure.cosmos.CosmosDiagnostics; import com.azure.cosmos.implementation.HttpConstants; import com.azure.cosmos.implementation.RequestTimeline; import com.azure.cosmos.implementation.apachecommons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.InputStream; -import java.io.UnsupportedEncodingException; import java.util.List; import java.util.Map.Entry; @@ -25,7 +23,7 @@ public class StoreResponse { final private String[] responseHeaderValues; final private byte[] content; - private CosmosResponseDiagnostics cosmosResponseDiagnostics; + private CosmosDiagnostics cosmosDiagnostics; private RequestTimeline requestTimeline; public StoreResponse( @@ -96,12 +94,12 @@ public String getHeaderValue(String attribute) { return null; } - public CosmosResponseDiagnostics getCosmosResponseDiagnostics() { - return cosmosResponseDiagnostics; + public CosmosDiagnostics getCosmosDiagnostics() { + return cosmosDiagnostics; } - StoreResponse setCosmosResponseDiagnostics(CosmosResponseDiagnostics cosmosResponseDiagnostics) { - this.cosmosResponseDiagnostics = cosmosResponseDiagnostics; + StoreResponse setCosmosDiagnostics(CosmosDiagnostics cosmosDiagnostics) { + this.cosmosDiagnostics = cosmosDiagnostics; return this; } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosAsyncContainerResponse.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosAsyncContainerResponse.java index 9ff7803a7bb2..a5221ce9cf44 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosAsyncContainerResponse.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosAsyncContainerResponse.java @@ -28,7 +28,7 @@ public class CosmosAsyncContainerResponse extends CosmosResponse getResponseHeaders() { * * @return diagnostics information for the current request to Azure Cosmos DB service. */ - public CosmosResponseDiagnostics getResponseDiagnostics() { - return resourceResponse.getResponseDiagnostics(); + public CosmosDiagnostics getDiagnostics() { + return resourceResponse.getDiagnostics(); } /** @@ -176,8 +176,8 @@ public CosmosResponseDiagnostics getResponseDiagnostics() { * * @return end-to-end request latency for the current request to Azure Cosmos DB service. */ - public Duration getRequestLatency() { - return resourceResponse.getRequestLatency(); + public Duration getDuration() { + return resourceResponse.getDuration(); } /** diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosContainerRequestOptions.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosContainerRequestOptions.java index 331184db2f1e..5374f8732dee 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosContainerRequestOptions.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosContainerRequestOptions.java @@ -65,7 +65,7 @@ public CosmosContainerRequestOptions setQuotaInfoPopulated(boolean populateQuota * * @return the consistency level. */ - public ConsistencyLevel getConsistencyLevel() { + ConsistencyLevel getConsistencyLevel() { return consistencyLevel; } @@ -75,7 +75,7 @@ public ConsistencyLevel getConsistencyLevel() { * @param consistencyLevel the consistency level. * @return the current request options */ - public CosmosContainerRequestOptions setConsistencyLevel(ConsistencyLevel consistencyLevel) { + CosmosContainerRequestOptions setConsistencyLevel(ConsistencyLevel consistencyLevel) { this.consistencyLevel = consistencyLevel; return this; } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosItemRequestOptions.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosItemRequestOptions.java index 285b1d97f712..eca7ee674abc 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosItemRequestOptions.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosItemRequestOptions.java @@ -61,7 +61,7 @@ public CosmosItemRequestOptions setAccessCondition(AccessCondition accessConditi * * @return the consistency level. */ - public ConsistencyLevel getConsistencyLevel() { + ConsistencyLevel getConsistencyLevel() { return consistencyLevel; } @@ -71,7 +71,7 @@ public ConsistencyLevel getConsistencyLevel() { * @param consistencyLevel the consistency level. * @return the CosmosItemRequestOptions. */ - public CosmosItemRequestOptions setConsistencyLevel(ConsistencyLevel consistencyLevel) { + CosmosItemRequestOptions setConsistencyLevel(ConsistencyLevel consistencyLevel) { this.consistencyLevel = consistencyLevel; return this; } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosItemResponse.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosItemResponse.java index 13063cdb23b7..ef2f1940ab1e 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosItemResponse.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosItemResponse.java @@ -3,7 +3,7 @@ package com.azure.cosmos.models; -import com.azure.cosmos.CosmosResponseDiagnostics; +import com.azure.cosmos.CosmosDiagnostics; import com.azure.cosmos.implementation.CosmosItemProperties; import java.time.Duration; @@ -108,8 +108,8 @@ public Map getResponseHeaders() { * * @return diagnostics information for the current request to Azure Cosmos DB service. */ - public CosmosResponseDiagnostics getResponseDiagnostics() { - return responseWrapper.getResponseDiagnostics(); + public CosmosDiagnostics getDiagnostics() { + return responseWrapper.getDiagnostics(); } /** @@ -117,8 +117,8 @@ public CosmosResponseDiagnostics getResponseDiagnostics() { * * @return end-to-end request latency for the current request to Azure Cosmos DB service. */ - public Duration getRequestLatency() { - return responseWrapper.getRequestLatency(); + public Duration getDuration() { + return responseWrapper.getDuration(); } /** diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosResponse.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosResponse.java index cded9a4d3b3a..c31f0b06dec5 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosResponse.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosResponse.java @@ -2,7 +2,7 @@ // Licensed under the MIT License. package com.azure.cosmos.models; -import com.azure.cosmos.CosmosResponseDiagnostics; +import com.azure.cosmos.CosmosDiagnostics; import com.azure.cosmos.implementation.ResourceResponse; import com.azure.cosmos.implementation.StoredProcedureResponse; @@ -119,8 +119,8 @@ public Map getResponseHeaders() { * * @return diagnostics information for the current request to Azure Cosmos DB service. */ - public CosmosResponseDiagnostics getResponseDiagnostics() { - return resourceResponseWrapper.getResponseDiagnostics(); + public CosmosDiagnostics getDiagnostics() { + return resourceResponseWrapper.getDiagnostics(); } /** @@ -128,7 +128,7 @@ public CosmosResponseDiagnostics getResponseDiagnostics() { * * @return end-to-end request latency for the current request to Azure Cosmos DB service. */ - public Duration getRequestLatency() { - return resourceResponseWrapper.getRequestLatency(); + public Duration getDuration() { + return resourceResponseWrapper.getDuration(); } } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosStoredProcedureRequestOptions.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosStoredProcedureRequestOptions.java index 04626571f20b..9c8197859cc8 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosStoredProcedureRequestOptions.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosStoredProcedureRequestOptions.java @@ -39,7 +39,7 @@ public CosmosStoredProcedureRequestOptions setAccessCondition(AccessCondition ac * * @return the consistency level. */ - public ConsistencyLevel getConsistencyLevel() { + ConsistencyLevel getConsistencyLevel() { return consistencyLevel; } @@ -49,7 +49,7 @@ public ConsistencyLevel getConsistencyLevel() { * @param consistencyLevel the consistency level. * @return the CosmosStoredProcedureRequestOptions. */ - public CosmosStoredProcedureRequestOptions setConsistencyLevel(ConsistencyLevel consistencyLevel) { + CosmosStoredProcedureRequestOptions setConsistencyLevel(ConsistencyLevel consistencyLevel) { this.consistencyLevel = consistencyLevel; return this; } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java index fdd62ce49c06..ac3e3e4c206b 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ModelBridgeInternal.java @@ -37,6 +37,7 @@ import com.azure.cosmos.implementation.User; import com.azure.cosmos.implementation.UserDefinedFunction; import com.azure.cosmos.implementation.Utils; +import com.azure.cosmos.implementation.Warning; import com.azure.cosmos.implementation.directconnectivity.Address; import com.azure.cosmos.implementation.query.PartitionedQueryExecutionInfoInternal; import com.azure.cosmos.implementation.query.QueryInfo; @@ -55,217 +56,269 @@ import java.util.Map; import java.util.concurrent.ConcurrentMap; +import static com.azure.cosmos.implementation.Warning.INTERNAL_USE_ONLY_WARNING; + /** * DO NOT USE. * This is meant to be used only internally as a bridge access to classes in * com.azure.cosmos.model package **/ +@Warning(value = INTERNAL_USE_ONLY_WARNING) public final class ModelBridgeInternal { + private ModelBridgeInternal() {} + + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncConflictResponse createCosmosAsyncConflictResponse(ResourceResponse response, CosmosAsyncContainer container) { return new CosmosAsyncConflictResponse(response, container); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncContainerResponse createCosmosAsyncContainerResponse(ResourceResponse response, CosmosAsyncDatabase database) { return new CosmosAsyncContainerResponse(response, database); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncDatabaseResponse createCosmosAsyncDatabaseResponse(ResourceResponse response, CosmosAsyncClient client) { return new CosmosAsyncDatabaseResponse(response, client); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncItemResponse createCosmosAsyncItemResponse(ResourceResponse response, Class classType) { return new CosmosAsyncItemResponse<>(response, classType); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncItemResponse createCosmosAsyncItemResponseWithObjectType(ResourceResponse response) { return new CosmosAsyncItemResponse<>(response, Object.class); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncPermissionResponse createCosmosAsyncPermissionResponse(ResourceResponse response, CosmosAsyncUser cosmosUser) { return new CosmosAsyncPermissionResponse(response, cosmosUser); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncStoredProcedureResponse createCosmosAsyncStoredProcedureResponse(ResourceResponse response, CosmosAsyncContainer cosmosContainer) { return new CosmosAsyncStoredProcedureResponse(response, cosmosContainer); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncStoredProcedureResponse createCosmosAsyncStoredProcedureResponse(StoredProcedureResponse response, CosmosAsyncContainer cosmosContainer, String storedProcedureId) { return new CosmosAsyncStoredProcedureResponse(response, cosmosContainer, storedProcedureId); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosStoredProcedureProperties createCosmosStoredProcedureProperties(String jsonString) { return new CosmosStoredProcedureProperties(jsonString); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosPermissionProperties createCosmosPermissionProperties(String jsonString) { return new CosmosPermissionProperties(jsonString); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncTriggerResponse createCosmosAsyncTriggerResponse(ResourceResponse response, CosmosAsyncContainer container) { return new CosmosAsyncTriggerResponse(response, container); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncUserDefinedFunctionResponse createCosmosAsyncUserDefinedFunctionResponse(ResourceResponse response, CosmosAsyncContainer container) { return new CosmosAsyncUserDefinedFunctionResponse(response, container); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosAsyncUserResponse createCosmosAsyncUserResponse(ResourceResponse response, CosmosAsyncDatabase database) { return new CosmosAsyncUserResponse(response, database); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosContainerResponse createCosmosContainerResponse(CosmosAsyncContainerResponse response, CosmosDatabase database, CosmosClient client) { return new CosmosContainerResponse(response, database, client); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosUserResponse createCosmosUserResponse(CosmosAsyncUserResponse response, CosmosDatabase database) { return new CosmosUserResponse(response, database); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosItemResponse createCosmosItemResponse(CosmosAsyncItemResponse response) { return new CosmosItemResponse<>(response); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosDatabaseResponse createCosmosDatabaseResponse(CosmosAsyncDatabaseResponse response, CosmosClient client) { return new CosmosDatabaseResponse(response, client); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosStoredProcedureResponse createCosmosStoredProcedureResponse(CosmosAsyncStoredProcedureResponse resourceResponse, CosmosStoredProcedure storedProcedure) { return new CosmosStoredProcedureResponse(resourceResponse, storedProcedure); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosUserDefinedFunctionResponse createCosmosUserDefinedFunctionResponse(CosmosAsyncUserDefinedFunctionResponse resourceResponse, CosmosUserDefinedFunction userDefinedFunction) { return new CosmosUserDefinedFunctionResponse(resourceResponse, userDefinedFunction); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosTriggerResponse createCosmosTriggerResponse(CosmosAsyncTriggerResponse asyncResponse, CosmosTrigger syncTrigger) { return new CosmosTriggerResponse(asyncResponse, syncTrigger); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static List getCosmosConflictPropertiesFromV2Results(List results) { return CosmosConflictProperties.getFromV2Results(results); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static DocumentCollection getV2Collection(CosmosContainerProperties containerProperties) { return containerProperties.getV2Collection(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static List getCosmosContainerPropertiesFromV2Results(List results) { return CosmosContainerProperties.getFromV2Results(results); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static List getCosmosDatabasePropertiesFromV2Results(List results) { return CosmosDatabaseProperties.getFromV2Results(results); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosItemProperties getCosmosItemProperties(CosmosAsyncItemResponse cosmosItemResponse) { return cosmosItemResponse.getProperties(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosItemProperties getCosmosItemProperties(CosmosItemResponse cosmosItemResponse) { return cosmosItemResponse.getProperties(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Permission getV2Permissions(CosmosPermissionProperties permissionSettings) { return permissionSettings.getV2Permissions(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static List getCosmosPermissionPropertiesFromV2Results(List results) { return CosmosPermissionProperties.getFromV2Results(results); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static List getCosmosStoredProcedurePropertiesFromV2Results(List results) { return CosmosStoredProcedureProperties.getFromV2Results(results); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static List getCosmosTriggerPropertiesFromV2Results(List results) { return CosmosTriggerProperties.getFromV2Results(results); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static List getCosmosUserDefinedFunctionPropertiesFromV2Results(List results) { return CosmosUserDefinedFunctionProperties.getFromV2Results(results); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static User getV2User(CosmosUserProperties cosmosUserProperties) { return cosmosUserProperties.getV2User(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static List getCosmosUserPropertiesFromV2Results(List results) { return CosmosUserProperties.getFromV2Results(results); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static RequestOptions toRequestOptions(CosmosConflictRequestOptions cosmosConflictRequestOptions) { return cosmosConflictRequestOptions.toRequestOptions(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static RequestOptions toRequestOptions(CosmosContainerRequestOptions cosmosContainerRequestOptions) { return cosmosContainerRequestOptions.toRequestOptions(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosContainerRequestOptions setOfferThroughput(CosmosContainerRequestOptions cosmosContainerRequestOptions, Integer offerThroughput) { return cosmosContainerRequestOptions.setOfferThroughput(offerThroughput); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static RequestOptions toRequestOptions(CosmosDatabaseRequestOptions cosmosDatabaseRequestOptions) { return cosmosDatabaseRequestOptions.toRequestOptions(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosDatabaseRequestOptions setOfferThroughput(CosmosDatabaseRequestOptions cosmosDatabaseRequestOptions, Integer offerThroughput) { return cosmosDatabaseRequestOptions.setOfferThroughput(offerThroughput); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosDatabaseRequestOptions setOfferProperties( CosmosDatabaseRequestOptions cosmosDatabaseRequestOptions, ThroughputProperties throughputProperties) { return cosmosDatabaseRequestOptions.setThroughputProperties(throughputProperties); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosContainerRequestOptions setOfferProperties( CosmosContainerRequestOptions containerRequestOptions, ThroughputProperties throughputProperties) { return containerRequestOptions.setThroughputProperties(throughputProperties); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Offer updateOfferFromProperties(Offer offer, ThroughputProperties properties) { return properties.updateOfferFromProperties(offer); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosItemRequestOptions setPartitionKey(CosmosItemRequestOptions cosmosItemRequestOptions, PartitionKey partitionKey) { return cosmosItemRequestOptions.setPartitionKey(partitionKey); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static RequestOptions toRequestOptions(CosmosItemRequestOptions cosmosItemRequestOptions) { return cosmosItemRequestOptions.toRequestOptions(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosItemRequestOptions createCosmosItemRequestOptions(PartitionKey partitionKey) { return new CosmosItemRequestOptions(partitionKey); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static RequestOptions toRequestOptions(CosmosPermissionRequestOptions cosmosPermissionRequestOptions) { return cosmosPermissionRequestOptions.toRequestOptions(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static RequestOptions toRequestOptions(CosmosStoredProcedureRequestOptions cosmosStoredProcedureRequestOptions) { return cosmosStoredProcedureRequestOptions.toRequestOptions(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static DatabaseAccount toDatabaseAccount(RxDocumentServiceResponse response) { DatabaseAccount account = response.getResource(DatabaseAccount.class); @@ -286,6 +339,7 @@ public static DatabaseAccount toDatabaseAccount(RxDocumentServiceResponse respon * @param options the feed options * @return the partitionKeyRangeId. */ + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static String partitionKeyRangeIdInternal(FeedOptions options) { return options.getPartitionKeyRangeIdInternal(); } @@ -297,120 +351,148 @@ public static String partitionKeyRangeIdInternal(FeedOptions options) { * @param partitionKeyRangeId the partition key range id * @return the partitionKeyRangeId. */ + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static FeedOptions partitionKeyRangeIdInternal(FeedOptions options, String partitionKeyRangeId) { return options.setPartitionKeyRangeIdInternal(partitionKeyRangeId); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static FeedResponse toFeedResponsePage(RxDocumentServiceResponse response, Class cls) { return new FeedResponse(response.getQueryResponse(cls), response.getResponseHeaders()); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static FeedResponse toFeedResponsePage(List results, Map headers, boolean noChanges) { return new FeedResponse<>(results, headers, noChanges); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static FeedResponse toChaneFeedResponsePage(RxDocumentServiceResponse response, Class cls) { return new FeedResponse(noChanges(response) ? Collections.emptyList() : response.getQueryResponse(cls), response.getResponseHeaders(), noChanges(response)); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static boolean noChanges(FeedResponse page) { return page.nochanges; } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static boolean noChanges(RxDocumentServiceResponse rsp) { return rsp.getStatusCode() == HttpConstants.StatusCodes.NOT_MODIFIED; } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static FeedResponse createFeedResponse(List results, Map headers) { return new FeedResponse<>(results, headers); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static FeedResponse createFeedResponseWithQueryMetrics(List results, Map headers, ConcurrentMap queryMetricsMap) { return new FeedResponse<>(results, headers, queryMetricsMap); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static ConcurrentMap queryMetricsMap(FeedResponse feedResponse) { return feedResponse.queryMetricsMap(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static ConcurrentMap queryMetrics(FeedResponse feedResponse) { return feedResponse.queryMetrics(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static String toLower(RequestVerb verb) { return verb.toLowerCase(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static boolean isV2(PartitionKeyDefinition pkd) { return pkd.getVersion() != null && PartitionKeyDefinitionVersion.V2.val == pkd.getVersion().val; } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static PartitionKeyInternal getNonePartitionKey(PartitionKeyDefinition partitionKeyDefinition) { return partitionKeyDefinition.getNonePartitionKeyValue(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static PartitionKeyInternal getPartitionKeyInternal(PartitionKey partitionKey) { return partitionKey.getInternalPartitionKey(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static PartitionKey partitionKeyfromJsonString(String jsonString) { return PartitionKey.fromJsonString(jsonString); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Object getPartitionKeyObject(PartitionKey right) { return right.getKeyObject(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static String getAltLink(Resource resource) { return resource.getAltLink(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void setAltLink(Resource resource, String altLink) { resource.setAltLink(altLink); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void setResourceId(Resource resource, String resourceId) { resource.setResourceId(resourceId); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void setResourceSelfLink(Resource resource, String selfLink) { resource.setSelfLink(selfLink); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void setTimestamp(Resource resource, OffsetDateTime date) { resource.setTimestamp(date); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void setProperty(JsonSerializable jsonSerializable, String propertyName, T value) { jsonSerializable.set(propertyName, value); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static ObjectNode getObjectNodeFromJsonSerializable(JsonSerializable jsonSerializable, String propertyName) { return jsonSerializable.getObject(propertyName); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void removeFromJsonSerializable(JsonSerializable jsonSerializable, String propertyName) { jsonSerializable.remove(propertyName); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Object getValue(JsonNode value) { return JsonSerializable.getValue(value); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosError createCosmosError(ObjectNode objectNode) { return new CosmosError(objectNode); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosError createCosmosError(String jsonString) { return new CosmosError(jsonString); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static JsonSerializable instantiateJsonSerializable(ObjectNode objectNode, Class klassType) { try { // the hot path should come through here to avoid serialization/deserialization @@ -431,50 +513,62 @@ public static JsonSerializable instantiateJsonSerializable(ObjectNode objectNode } } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Map getMapFromJsonSerializable(JsonSerializable jsonSerializable) { return jsonSerializable.getMap(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosResourceType fromServiceSerializedFormat(String cosmosResourceType) { return CosmosResourceType.fromServiceSerializedFormat(cosmosResourceType); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Boolean getBooleanFromJsonSerializable(JsonSerializable jsonSerializable, String propertyName) { return jsonSerializable.getBoolean(propertyName); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Double getDoubleFromJsonSerializable(JsonSerializable jsonSerializable, String propertyName) { return jsonSerializable.getDouble(propertyName); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Object getObjectByPathFromJsonSerializable(JsonSerializable jsonSerializable, List propertyNames) { return jsonSerializable.getObjectByPath(propertyNames); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static ByteBuffer serializeJsonToByteBuffer(JsonSerializable jsonSerializable) { return jsonSerializable.serializeJsonToByteBuffer(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static T toObjectFromJsonSerializable(JsonSerializable jsonSerializable, Class c) { return jsonSerializable.toObject(c); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Object getObjectFromJsonSerializable(JsonSerializable jsonSerializable, String propertyName) { return jsonSerializable.get(propertyName); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static String getStringFromJsonSerializable(JsonSerializable jsonSerializable, String propertyName) { return jsonSerializable.getString(propertyName); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Integer getIntFromJsonSerializable(JsonSerializable jsonSerializable, String propertyName) { return jsonSerializable.getInt(propertyName); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static String toJsonFromJsonSerializable(JsonSerializable jsonSerializable) { return jsonSerializable.toJson(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static ObjectNode getPropertyBagFromJsonSerializable(JsonSerializable jsonSerializable) { if (jsonSerializable == null) { return null; @@ -482,24 +576,29 @@ public static ObjectNode getPropertyBagFromJsonSerializable(JsonSerializable jso return jsonSerializable.getPropertyBag(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void setFeedOptionsContinuationTokenAndMaxItemCount(FeedOptions feedOptions, String continuationToken, Integer maxItemCount) { feedOptions.setRequestContinuation(continuationToken); feedOptions.setMaxItemCount(maxItemCount); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void setFeedOptionsContinuationToken(FeedOptions feedOptions, String continuationToken) { feedOptions.setRequestContinuation(continuationToken); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void setFeedOptionsMaxItemCount(FeedOptions feedOptions, Integer maxItemCount) { feedOptions.setMaxItemCount(maxItemCount); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static ByteBuffer serializeJsonToByteBuffer(SqlQuerySpec sqlQuerySpec) { sqlQuerySpec.populatePropertyBag(); return sqlQuerySpec.getJsonSerializable().serializeJsonToByteBuffer(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static T instantiateByObjectNode(ObjectNode objectNode, Class c) { try { return c.getDeclaredConstructor(ObjectNode.class).newInstance(objectNode); @@ -508,6 +607,7 @@ public static T instantiateByObjectNode(ObjectNode objectNode, Class c) { } } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static void populatePropertyBag(T t) { if (t instanceof JsonSerializable) { ((JsonSerializable) t).populatePropertyBag(); @@ -546,6 +646,7 @@ public static void populatePropertyBag(T t) { } } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static JsonSerializable getJsonSerializable(T t) { if (t instanceof CompositePath) { return ((CompositePath) t).getJsonSerializable(); @@ -582,6 +683,7 @@ public static JsonSerializable getJsonSerializable(T t) { } } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Resource getResource(T t) { if (t == null) { return null; @@ -608,10 +710,12 @@ public static Resource getResource(T t) { } } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static Offer getOfferFromThroughputProperties(ThroughputProperties properties) { return properties.getOffer(); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static ThroughputResponse createThroughputRespose(ResourceResponse offerResourceResponse) { return new ThroughputResponse(offerResourceResponse); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/util/UtilBridgeInternal.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/util/UtilBridgeInternal.java index 6f34cf4bb12c..1282cd7a56de 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/util/UtilBridgeInternal.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/util/UtilBridgeInternal.java @@ -5,22 +5,30 @@ import com.azure.core.util.paging.ContinuablePagedFlux; import com.azure.cosmos.implementation.CosmosPagedFluxOptions; +import com.azure.cosmos.implementation.Warning; import com.azure.cosmos.models.FeedResponse; import reactor.core.publisher.Flux; import java.util.function.Function; +import static com.azure.cosmos.implementation.Warning.INTERNAL_USE_ONLY_WARNING; + /** * DO NOT USE. * This is meant to be used only internally as a bridge access to classes in * com.azure.cosmos.util package **/ +@Warning(value = INTERNAL_USE_ONLY_WARNING) public final class UtilBridgeInternal { + private UtilBridgeInternal() {} + + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosPagedFlux createCosmosPagedFlux(Function>> pagedFluxOptionsFluxFunction) { return new CosmosPagedFlux<>(pagedFluxOptionsFluxFunction); } + @Warning(value = INTERNAL_USE_ONLY_WARNING) public static CosmosPagedIterable createCosmosPagedIterable(ContinuablePagedFlux> pagedFlux) { return new CosmosPagedIterable<>(pagedFlux); } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosResponseDiagnosticsTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosDiagnosticsTest.java similarity index 92% rename from sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosResponseDiagnosticsTest.java rename to sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosDiagnosticsTest.java index a6bebaf7df66..ce38bd4b2c1b 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosResponseDiagnosticsTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosDiagnosticsTest.java @@ -31,7 +31,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.fail; -public class CosmosResponseDiagnosticsTest extends TestSuiteBase { +public class CosmosDiagnosticsTest extends TestSuiteBase { private CosmosClient gatewayClient; private CosmosClient directClient; private CosmosContainer container; @@ -70,13 +70,13 @@ public void afterClass() throws CosmosClientException { public void gatewayDiagnostics() throws CosmosClientException { CosmosItemProperties cosmosItemProperties = getCosmosItemProperties(); CosmosItemResponse createResponse = this.container.createItem(cosmosItemProperties); - String diagnostics = createResponse.getResponseDiagnostics().toString(); + String diagnostics = createResponse.getDiagnostics().toString(); assertThat(diagnostics).contains("\"connectionMode\":\"GATEWAY\""); assertThat(diagnostics).doesNotContain(("\"gatewayStatistics\":null")); assertThat(diagnostics).contains("\"operationType\":\"Create\""); assertThat(diagnostics).contains("\"metaDataName\":\"CONTAINER_LOOK_UP\""); assertThat(diagnostics).contains("\"serializationType\":\"PARTITION_KEY_FETCH_SERIALIZATION\""); - assertThat(createResponse.getResponseDiagnostics().getRequestLatency()).isNotNull(); + assertThat(createResponse.getDiagnostics().getDuration()).isNotNull(); validateTransportRequestTimelineGateway(diagnostics); } @@ -102,13 +102,13 @@ public void gatewayDiagnosticsOnException() throws CosmosClientException { CosmosItemProperties.class); fail("request should fail as partition key is wrong"); } catch (CosmosClientException exception) { - String diagnostics = exception.getResponseDiagnostics().toString(); + String diagnostics = exception.getDiagnostics().toString(); assertThat(exception.getStatusCode()).isEqualTo(HttpConstants.StatusCodes.NOTFOUND); assertThat(diagnostics).contains("\"connectionMode\":\"GATEWAY\""); assertThat(diagnostics).doesNotContain(("\"gatewayStatistics\":null")); assertThat(diagnostics).contains("\"statusCode\":404"); assertThat(diagnostics).contains("\"operationType\":\"Read\""); - assertThat(exception.getResponseDiagnostics().getRequestLatency()).isNotNull(); + assertThat(exception.getDiagnostics().getDuration()).isNotNull(); validateTransportRequestTimelineGateway(diagnostics); } finally { if (client != null) { @@ -121,13 +121,13 @@ public void gatewayDiagnosticsOnException() throws CosmosClientException { public void systemDiagnosticsForSystemStateInformation() throws CosmosClientException { CosmosItemProperties cosmosItemProperties = getCosmosItemProperties(); CosmosItemResponse createResponse = this.container.createItem(cosmosItemProperties); - String diagnostics = createResponse.getResponseDiagnostics().toString(); + String diagnostics = createResponse.getDiagnostics().toString(); assertThat(diagnostics).contains("systemInformation"); assertThat(diagnostics).contains("usedMemory"); assertThat(diagnostics).contains("availableMemory"); assertThat(diagnostics).contains("processCpuLoad"); assertThat(diagnostics).contains("systemCpuLoad"); - assertThat(createResponse.getResponseDiagnostics().getRequestLatency()).isNotNull(); + assertThat(createResponse.getDiagnostics().getDuration()).isNotNull(); } @Test(groups = {"simple"}) @@ -135,7 +135,7 @@ public void directDiagnostics() throws CosmosClientException { CosmosContainer cosmosContainer = directClient.getDatabase(cosmosAsyncContainer.getDatabase().getId()).getContainer(cosmosAsyncContainer.getId()); CosmosItemProperties cosmosItemProperties = getCosmosItemProperties(); CosmosItemResponse createResponse = cosmosContainer.createItem(cosmosItemProperties); - String diagnostics = createResponse.getResponseDiagnostics().toString(); + String diagnostics = createResponse.getDiagnostics().toString(); assertThat(diagnostics).contains("\"connectionMode\":\"DIRECT\""); assertThat(diagnostics).contains("supplementalResponseStatisticsList"); assertThat(diagnostics).contains("\"gatewayStatistics\":null"); @@ -144,7 +144,7 @@ public void directDiagnostics() throws CosmosClientException { assertThat(diagnostics).contains("\"metaDataName\":\"PARTITION_KEY_RANGE_LOOK_UP\""); assertThat(diagnostics).contains("\"metaDataName\":\"SERVER_ADDRESS_LOOKUP\""); assertThat(diagnostics).contains("\"serializationType\":\"PARTITION_KEY_FETCH_SERIALIZATION\""); - assertThat(createResponse.getResponseDiagnostics().getRequestLatency()).isNotNull(); + assertThat(createResponse.getDiagnostics().getDuration()).isNotNull(); validateTransportRequestTimelineDirect(diagnostics); } @@ -172,10 +172,10 @@ public void directDiagnosticsOnException() throws CosmosClientException { CosmosItemProperties.class); fail("request should fail as partition key is wrong"); } catch (CosmosClientException exception) { - String diagnostics = exception.getResponseDiagnostics().toString(); + String diagnostics = exception.getDiagnostics().toString(); assertThat(exception.getStatusCode()).isEqualTo(HttpConstants.StatusCodes.NOTFOUND); assertThat(diagnostics).contains("\"connectionMode\":\"DIRECT\""); - assertThat(exception.getResponseDiagnostics().getRequestLatency()).isNotNull(); + assertThat(exception.getDiagnostics().getDuration()).isNotNull(); // TODO https://github.com/Azure/azure-sdk-for-java/issues/8035 // uncomment below if above issue is fixed //validateTransportRequestTimelineDirect(diagnostics); @@ -221,12 +221,12 @@ public void supplementalResponseStatisticsList() throws Exception { public void serializationOnVariousScenarios() throws CosmosClientException { //checking database serialization CosmosDatabaseResponse cosmosDatabase = gatewayClient.getDatabase(cosmosAsyncContainer.getDatabase().getId()).read(); - String diagnostics = cosmosDatabase.getResponseDiagnostics().toString(); + String diagnostics = cosmosDatabase.getDiagnostics().toString(); assertThat(diagnostics).contains("\"serializationType\":\"DATABASE_DESERIALIZATION\""); //checking container serialization CosmosContainerResponse containerResponse = this.container.read(); - diagnostics = containerResponse.getResponseDiagnostics().toString(); + diagnostics = containerResponse.getDiagnostics().toString(); assertThat(diagnostics).contains("\"serializationType\":\"CONTAINER_DESERIALIZATION\""); TestItem testItem = new TestItem(); testItem.id = "TestId"; @@ -234,23 +234,23 @@ public void serializationOnVariousScenarios() throws CosmosClientException { //checking partitionKeyFetch serialization CosmosItemResponse itemResponse = this.container.createItem(testItem); - diagnostics = itemResponse.getResponseDiagnostics().toString(); + diagnostics = itemResponse.getDiagnostics().toString(); assertThat(diagnostics).contains("\"serializationType\":\"PARTITION_KEY_FETCH_SERIALIZATION\""); testItem.id = "TestId2"; testItem.mypk = "TestPk"; itemResponse = this.container.createItem(testItem, new PartitionKey("TestPk"), null); - diagnostics = itemResponse.getResponseDiagnostics().toString(); + diagnostics = itemResponse.getDiagnostics().toString(); assertThat(diagnostics).doesNotContain("\"serializationType\":\"PARTITION_KEY_FETCH_SERIALIZATION\""); assertThat(diagnostics).doesNotContain("\"serializationType\":\"ITEM_DESERIALIZATION\""); //checking item serialization TestItem readTestItem = itemResponse.getItem(); - diagnostics = itemResponse.getResponseDiagnostics().toString(); + diagnostics = itemResponse.getDiagnostics().toString(); assertThat(diagnostics).contains("\"serializationType\":\"ITEM_DESERIALIZATION\""); CosmosItemResponse readItemResponse = this.container.readItem(testItem.id, new PartitionKey(testItem.mypk), null, CosmosItemProperties.class); CosmosItemProperties properties = readItemResponse.getItem(); - diagnostics = readItemResponse.getResponseDiagnostics().toString(); + diagnostics = readItemResponse.getDiagnostics().toString(); assertThat(diagnostics).contains("\"serializationType\":\"ITEM_DESERIALIZATION\""); } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/MultipleCosmosClientsWithTransportClientSharingTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/MultipleCosmosClientsWithTransportClientSharingTest.java index 8fdb27afd9b5..0cf67fa3c15a 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/MultipleCosmosClientsWithTransportClientSharingTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/MultipleCosmosClientsWithTransportClientSharingTest.java @@ -55,8 +55,8 @@ public void before_CosmosItemTest() { CosmosAsyncContainer asyncContainer = getSharedMultiPartitionCosmosContainer(this.client.asyncClient()); container1 = client.getDatabase(asyncContainer.getDatabase().getId()).getContainer(asyncContainer.getId()); - client1 = copyCosmosClientBuilder(getClientBuilder()).connectionReuseAcrossClientsEnabled(true).buildClient(); - client2 = copyCosmosClientBuilder(getClientBuilder()).connectionReuseAcrossClientsEnabled(true).buildClient(); + client1 = copyCosmosClientBuilder(getClientBuilder()).connectionSharingAcrossClientsEnabled(true).buildClient(); + client2 = copyCosmosClientBuilder(getClientBuilder()).connectionSharingAcrossClientsEnabled(true).buildClient(); container1 = client1.getDatabase(asyncContainer.getDatabase().getId()).getContainer(asyncContainer.getId()); container2 = client1.getDatabase(asyncContainer.getDatabase().getId()).getContainer(asyncContainer.getId()); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/RenameCollectionAwareClientRetryPolicyTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/RenameCollectionAwareClientRetryPolicyTest.java index e27d7f57c0d2..090aacaa4234 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/RenameCollectionAwareClientRetryPolicyTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/RenameCollectionAwareClientRetryPolicyTest.java @@ -97,7 +97,7 @@ public void shouldRetryWithNotFoundStatusCodeAndReadSessionNotAvailableSubStatus DocumentCollection documentCollection = new DocumentCollection(); ModelBridgeInternal.setResourceId(documentCollection, "rid_1"); - Mockito.when(rxClientCollectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosResponseDiagnostics), request)).thenReturn(Mono.just(new Utils.ValueHolder<>(documentCollection))); + Mockito.when(rxClientCollectionCache.resolveCollectionAsync(BridgeInternal.getMetaDataDiagnosticContext(request.requestContext.cosmosDiagnostics), request)).thenReturn(Mono.just(new Utils.ValueHolder<>(documentCollection))); Mono singleShouldRetry = renameCollectionAwareClientRetryPolicy .shouldRetry(notFoundException); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/query/FeedResponseBuilder.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/query/FeedResponseBuilder.java index 38e30778e837..4b28f12be93b 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/query/FeedResponseBuilder.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/implementation/query/FeedResponseBuilder.java @@ -66,7 +66,7 @@ public FeedResponse build() { if (isChangeFeed) { when(rsp.getStatusCode()).thenReturn(noMoreChangesInChangeFeed? HttpConstants.StatusCodes.NOT_MODIFIED : 200); - return BridgeInternal.toChaneFeedResponsePage(rsp, klass); + return BridgeInternal.toChangeFeedResponsePage(rsp, klass); } else { return BridgeInternal.toFeedResponsePage(rsp, klass); } diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CollectionCrudTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CollectionCrudTest.java index 43bd3a10792a..c16aa56ff622 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CollectionCrudTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/CollectionCrudTest.java @@ -331,13 +331,13 @@ public void sessionTokenConsistencyCollectionDeleteCreateSameName() { CosmosItemRequestOptions options = new CosmosItemRequestOptions(); CosmosAsyncItemResponse readDocumentResponse = collection.readItem(document.getId(), new PartitionKey("mypkValue"), options, CosmosItemProperties.class).block(); - logger.info("Client 1 READ Document Client Side Request Statistics {}", readDocumentResponse.getResponseDiagnostics()); - logger.info("Client 1 READ Document Latency {}", readDocumentResponse.getRequestLatency()); + logger.info("Client 1 READ Document Client Side Request Statistics {}", readDocumentResponse.getDiagnostics()); + logger.info("Client 1 READ Document Latency {}", readDocumentResponse.getDuration()); BridgeInternal.setProperty(document, "name", "New Updated Document"); CosmosAsyncItemResponse upsertDocumentResponse = collection.upsertItem(document).block(); - logger.info("Client 1 Upsert Document Client Side Request Statistics {}", upsertDocumentResponse.getResponseDiagnostics()); - logger.info("Client 1 Upsert Document Latency {}", upsertDocumentResponse.getRequestLatency()); + logger.info("Client 1 Upsert Document Client Side Request Statistics {}", upsertDocumentResponse.getDiagnostics()); + logger.info("Client 1 Upsert Document Latency {}", upsertDocumentResponse.getDuration()); // DELETE the existing collection deleteCollection(client2, dbId, collectionId); @@ -356,8 +356,8 @@ public void sessionTokenConsistencyCollectionDeleteCreateSameName() { new PartitionKey(ModelBridgeInternal.getObjectFromJsonSerializable(newDocument, "mypk")), CosmosItemProperties.class) .block(); - logger.info("Client 2 READ Document Client Side Request Statistics {}", readDocumentResponse.getResponseDiagnostics()); - logger.info("Client 2 READ Document Latency {}", readDocumentResponse.getRequestLatency()); + logger.info("Client 2 READ Document Client Side Request Statistics {}", readDocumentResponse.getDiagnostics()); + logger.info("Client 2 READ Document Latency {}", readDocumentResponse.getDuration()); CosmosItemProperties readDocument = BridgeInternal.getProperties(readDocumentResponse);