spring-batch icon indicating copy to clipboard operation
spring-batch copied to clipboard

Getting error with Springboot 3.4.1 while executing batch jobs

Open SangaviThangavel opened this issue 10 months ago • 3 comments

Bug description Getting error with Springboot 3.4.1 while executing batch jobs

Error Message: Command failed with error 251 (NoSuchTransaction): 'Transaction with { txnNumber: 24 } has been aborted.' on server pl-0-eu-west-1.3dhx9.mongodb.net:1041. The full response is {"errorLabels": ["TransientTransactionError"], "ok": 0.0, "errmsg": "Transaction with { txnNumber: 24 } has been aborted.", "code": 251, "codeName": "NoSuchTransaction", "$clusterTime": {"clusterTime": {"$timestamp": {"t": 1735790456, "i": 1}}, "signature": {"hash": {"$binary": {"base64": "sKYXYVX+BZTVEOMUocGi7Cm8t2A=", "subType": "00"}}, "keyId": 7434572047025438725}}, "operationTime": {"$timestamp": {"t": 1735790456, "i": 1}}}

Possible Cause: The error might be due to the transaction timeout or multiple write operations causing the transaction to abort.

Reference: TransientTransactionError/NoSuchTransaction issue on long/large write operations using Mongoose transactions

Environment

  • Spring Batch version: 5.2.0
  • Java version: 21
  • Database: Mongo Atlas

Steps to reproduce

  1. Execute the batch job.
  2. The job should sync all data.
  3. The job aborts in between, possibly due to multiple write operations.

Expected behavior The batch job should execute and sync all data without aborting.

Minimal Complete Reproducible example Fails at: mongoTemplate.findAndModify(query, update, SelectorModel.class, CollectionNames.SELECTORS);

SangaviThangavel avatar Jan 09 '25 14:01 SangaviThangavel