Skip to content

Fix multi-version client behavior with transaction options that don't need to be reset on retry #1435

@ajbeamon

Description

@ajbeamon

A few transaction options no longer need to be reset when retrying a transaction. Currently, these are the timeout, max retries, and max retry delay transaction options.

This currently doesn't work well with the multi-version client when it switches the cluster version because it effectively does a full reset of the transaction in onError when this occurs. That means that the previously set values of these transaction options will be lost.

Additionally, we may want to consider also storing the values of the database defaults for these options when the transaction was created to avoid a situation where creating a transaction, changing the database default, and then upgrading the cluster causes the transaction to switch to the new default.

See discussion at #1323.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions