Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

claim_e2e_one_time_keys results in lots of TransactionRollbackError: could not serialize access due to concurrent update #4950

@erikjohnston

Description

@erikjohnston
TransactionRollbackError: could not serialize access due to concurrent update

(23 additional frame(s) were not displayed)
...
  File "synapse/storage/_base.py", line 453, in inner_func
    return func(conn, *args, **kwargs)
  File "synapse/storage/_base.py", line 329, in _new_transaction
    r = func(txn, *args, **kwargs)
  File "synapse/storage/end_to_end_keys.py", line 266, in _claim_e2e_one_time_keys
    txn.execute(sql, (user_id, device_id, algorithm, key_id))
  File "synapse/storage/_base.py", line 119, in execute
    self._do_execute(self.txn.execute, sql, *args)
  File "synapse/storage/_base.py", line 149, in _do_execute
    sql, *args

Failed handle request via u'OneTimeKeyServlet': u"<XForwardedForRequest at 0x7f7b35349780 method='POST' uri='/_matrix/client/unstable/keys/claim' clientproto='HTTP/1.1' site=8080>"

Note that this only gets thrown after we've retried 5 times

Metadata

Metadata

Assignees

No one assigned

    Labels

    z-bug(Deprecated Label)z-p2(Deprecated Label)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions