Skip to content

Getting error with Springboot 3.4.1 while executing batch jobs #4744

Open
@SangaviThangavel

Description

@SangaviThangavel

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);

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions