Details
-
Question
-
Resolution: Won't Do
-
Major - P3
-
None
-
None
-
None
-
None
Description
While doing BulkOperations update, mongoDB throws WriteConflict error
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>>. Query object has ObjectId of the documents and all the 30k Query has unique ObjectId
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.vsi.uat.dbs.com: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}}}