Skip to content

Transaction retries don't work with multi-region clusters #5

Open
@ianjevans

Description

@ianjevans

During the MR Serverless bug-bash, the example throws a bunch of retry errors:

> node app.js

Initializing accounts table...
Transaction failed. Retrying transaction.
COMMIT; - restart transaction: TransactionRetryWithProtoRefreshError: TransactionRetryError: retry txn (RETRY_SERIALIZABLE - failed preemptive refresh due to a conflict: committed value on key /Tenant/41/Table/122/1/820164994132770838/0): "sql txn" meta={id=0a773ecd key=/Tenant/41/Table/3/1/123/2/1 pri=0.00085253 epo=0 ts=1670364898.635487399,2? min=1670364893.958771105,0 seq=5} lock=true stat=PENDING rts=1670364893.958771105,0 wto=false gul=1670364894.058771105,0
Transaction failed. Retrying transaction.
COMMIT; - restart transaction: TransactionRetryWithProtoRefreshError: TransactionRetryError: retry txn (RETRY_SERIALIZABLE - failed preemptive refresh due to a conflict: committed value on key /Tenant/41/Table/122/1/820164994132770838/0): "sql txn" meta={id=6cf9e379 key=/Tenant/41/Table/3/1/124/2/1 pri=0.02024304 epo=0 ts=1670364907.679461210,2? min=1670364903.890106411,0 seq=5} lock=true stat=PENDING rts=1670364903.890106411,0 wto=false gul=1670364903.990106411,0
Transaction failed. Retrying transaction.```

Wrapping the db init function in `retryTxn` didn't work. We need to investigate why the retry isn't working.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions