Can someone help on the below issue. While doing BulkOperations update, mongoDB throws WriteConflict error.
Code:
BulkOperations bulkOperations = mongoTemplate.bulkOps(BulkOperations.BulkMode.ORDERED, CollectionConstants.COLLECTION_NAME_EQD_FIXING_AUDIT);
bulkOperations.updateOne(queryUpdates);
bulkOperations.execute();
Note: Here queryUpdates are List<Pair<Query, Update>>. In the Query object passing “_id” i.e ObjectId and all the 30K Query updates has unique ObjectId but still getting WriteConflict error. Also no other transaction is happening.
Error:
Could not commit Mongo transaction for session [ClientSessionImpl@d9d19bd id = {“id”: {“$binary”:
{“base64”: “vNL284T+Smeq2jcthOulSA==”, “subType”: “04”}
}}, causallyConsistent = true, txActive = false, txNumber = 11, error = d != java.lang.Boolean].; nested exception is com.mongodb.MongoCommandException: Command failed with error 112 (WriteConflict): ‘WiredTigerRecordStore::insertRecord :: caused by :: WriteConflict error: this operation conflicted with another operation. Please retry your operation or multi-document transaction.’ on server x01btsypdb1a:27017. The full response is {“errorLabels”: [“TransientTransactionError”], “ok”: 0.0, “errmsg”: “WiredTigerRecordStore::insertRecord :: caused by :: WriteConflict error: this operation conflicted with another operation. Please retry your operation or multi-document transaction.”, “code”: 112, “codeName”: “WriteConflict”, “$clusterTime”: {“clusterTime”: {“$timestamp”: {“t”: 1686888951, “i”: 22173}}, “signature”: {“hash”: {“$binary”: {“base64”: “sIYH92YWxYoaLCjcH8CyjZiHV08=”, “subType”: “00”}}, “keyId”: 7189425660345974791}}, “operationTime”: {“$timestamp”:
{“t”: 1686888951, “i”: 1}
}}