diff --git a/azurecosmos/src/main/java/site/ycsb/db/AzureCosmosClient.java b/azurecosmos/src/main/java/site/ycsb/db/AzureCosmosClient.java
index 22306e682d..fc58cbf24b 100644
--- a/azurecosmos/src/main/java/site/ycsb/db/AzureCosmosClient.java
+++ b/azurecosmos/src/main/java/site/ycsb/db/AzureCosmosClient.java
@@ -20,12 +20,18 @@
import com.azure.cosmos.CosmosClient;
import com.azure.cosmos.CosmosClientBuilder;
import com.azure.cosmos.CosmosContainer;
+import com.azure.cosmos.CosmosContainerProactiveInitConfig;
+import com.azure.cosmos.CosmosContainerProactiveInitConfigBuilder;
import com.azure.cosmos.CosmosDatabase;
+import com.azure.cosmos.CosmosEndToEndOperationLatencyPolicyConfig;
+import com.azure.cosmos.CosmosEndToEndOperationLatencyPolicyConfigBuilder;
import com.azure.cosmos.CosmosException;
import com.azure.cosmos.DirectConnectionConfig;
import com.azure.cosmos.GatewayConnectionConfig;
+import com.azure.cosmos.ThresholdBasedAvailabilityStrategy;
import com.azure.cosmos.ThrottlingRetryOptions;
import com.azure.cosmos.implementation.apachecommons.lang.StringUtils;
+import com.azure.cosmos.models.CosmosContainerIdentity;
import com.azure.cosmos.models.CosmosItemRequestOptions;
import com.azure.cosmos.models.CosmosItemResponse;
import com.azure.cosmos.models.CosmosPatchOperations;
@@ -256,6 +262,20 @@ private void initAzureCosmosClient() throws DBException {
builder.preferredRegions(preferredRegionList);
}
+ CosmosContainerProactiveInitConfig proactiveContainerInitConfig =
+ new CosmosContainerProactiveInitConfigBuilder(
+ Arrays.asList(new CosmosContainerIdentity("ycsb", "usertable")))
+ .setProactiveConnectionRegionsCount(1)
+ .build();
+
+ CosmosEndToEndOperationLatencyPolicyConfig endToEndOperationLatencyPolicyConfig =
+ new CosmosEndToEndOperationLatencyPolicyConfigBuilder(Duration.ofSeconds(2))
+ .availabilityStrategy(new ThresholdBasedAvailabilityStrategy())
+ .build();
+
+ builder.openConnectionsAndInitCaches(proactiveContainerInitConfig);
+ builder.endToEndOperationLatencyPolicyConfig(endToEndOperationLatencyPolicyConfig);
+
AzureCosmosClient.client = builder.buildClient();
LOGGER.info("Azure Cosmos DB connection created to {}", uri);
} catch (IllegalArgumentException e) {
diff --git a/pom.xml b/pom.xml
index ca46c4454a..393a2af079 100644
--- a/pom.xml
+++ b/pom.xml
@@ -115,7 +115,7 @@ LICENSE file.
3.1.2
4.4.1
1.8.2
- 4.41.0
+ 4.51.0
4.0.0
3.0.0
2.0.1