Java bulk executor library: Download information

Important

This library isn't the latest Java Bulk Executor for Azure Cosmos DB. Consider using Azure Cosmos DB Java SDK v4 for performing bulk operations. To upgrade, follow the instructions in the Migrate to Azure Cosmos DB Java SDK v4 guide and the Reactor vs RxJava guide.

Important

On February 29, 2024, Azure Cosmos DB Sync Java SDK v2.x was retired. The SDK and all applications that use the SDK, including Bulk Executor, continue to function. Azure Cosmos DB no longer provides maintenance and support for this SDK. We recommend following the instructions above to migrate to Azure Cosmos DB Java SDK v4.

Link/notes
Description Client applications can use the bulk executor library to perform bulk operations in Azure Cosmos DB accounts. The bulk executor library provides BulkImport and BulkUpdate namespaces. The BulkImport module can bulk ingest documents in an optimized way such that the throughput you provision for a collection is consumed to its maximum extent. The BulkUpdate module can bulk update existing data in Azure Cosmos DB containers as patches.
SDK download Maven
Bulk executor library in GitHub GitHub
API documentation Java API reference documentation
Get started Get started with the bulk executor library Java SDK
Minimum supported runtime Java Development Kit (JDK) 7+

Release notes

2.12.3

  • Fix retry policy when GoneException is wrapped in IllegalStateException. This change ensures the gateway cache refreshes on 410 so the Spark connector (for Spark 2.4) can use a custom retry policy to allow queries to succeed during partition splits.

2.12.2

  • Fix an issue that caused documents to sometimes fail to import on transient errors.

2.12.1

  • Upgrade to use latest Azure Cosmos DB Core SDK version.

2.12.0

  • Improve handling of RU budget provided through the Spark Connector for bulk operation. An initial one-time bulk import is performed from spark connector with a baseBatchSize and the RU consumption for the above batch import is collected. A miniBatchSizeAdjustmentFactor is calculated based on the above RU consumption, and the mini-batch size is adjusted based on this. Based on the elapsed time and the consumed RU for each batch import, a sleep duration is calculated to limit the RU consumption per second and is used to pause the thread prior to the next batch import.

2.11.0

  • Fix a bug preventing bulk updates when using a nested partition key.

2.10.0

  • Fix for DocumentAnalyzer.java to correctly extract nested partition key values from json.

2.9.4

  • Add functionality in BulkDelete operations to retry on specific failures and also return a list of failures to the user that could be retried.

2.9.3

  • Update for Azure Cosmos DB SDK version 2.4.7.

2.9.2

  • Fix for mergeAll to continue on id and partition key value so that any patched document properties that come after id and the partition key value get added to the updated item list.

2.9.1

  • Update start degree of concurrency to 1 and add debug logs for minibatch.