Skip to content

kv: mass INSERTs easily run into TransactionRetryWithProtoRefreshError #98553

@otan

Description

@otan

Initially found using Striim.
Related COPY issue: #90656
May also go away with: #91831

When using Striim using the default settings, we usually run into TransactionRetryWithProtoRefreshError (RETRY_ASYNC_WRITE_FAILURE).

This is usually at about the 5MM row mark where rows are inserted one at a time on a single thread as follows (using the pg wire protocol):

Parse <stmt>

Bind <stmt> <args>
Execute

# ...
# Bind/Execute 255 times in total
#

Sync

This is a very common JDBC pattern.

Whilst we do have a workaround for now, we think it is beneficial to make the database more tolerant of these kinds of issues.

Jira issue: CRDB-25326

gz#16766

gz#17451

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.T-kvKV Team

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions