element-hq / element-hq/synapse

`SerializationFailure` in `add_account_data_for_user`

Open
#11,464 0 comments 0 reactions 0 assignees View on GitHub
S-Tolerable T-Defect
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

This issue has been migrated from [#11464](https://github.com/matrix-org/synapse/issues/11464).

---

### Description
Exception:

```

Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: 2021-11-30 15:25:05,626 - synapse.http.server - 93 - ERROR - PUT-652 - Failed handle request via 'AccountDataServlet':
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: Traceback (most recent call last):
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/http/server.py", line 258, in _async_render_wrapper
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: callback_return = await self._async_render(request)
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/http/server.py", line 446, in _async_render
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: callback_return = await raw_callback_return
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/rest/client/account_data.py", line 57, in on_PUT
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: await self.handler.add_account_data_for_user(user_id, account_data_type, body)
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/handlers/account_data.py", line 92, in add_account_data_for_user
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: max_stream_id = await self._store.add_account_data_for_user(
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/databases/main/account_data.py", line 433, in add_account_data_for_user
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: await self.db_pool.runInteraction(
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 686, in runInteraction
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: result = await self.runWithConnection(
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 791, in runWithConnection
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: return await make_deferred_yieldable(
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/python/threadpool.py", line 238, in inContext
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: result = inContext.theWork() # type: ignore[attr-defined]
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/python/threadpool.py", line 254, in
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: inContext.theWork = lambda: context.call( # type: ignore[attr-defined]
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/python/context.py", line 118, in callWithContext
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: return self.currentContext().callWithContext(ctx, func, *args, **kw)
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/python/context.py", line 83, in callWithContext
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: return func(*args, **kw)
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/enterprise/adbapi.py", line 293, in _runWithConnection
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: compat.reraise(excValue, excTraceback)
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/python/deprecate.py", line 298, in deprecatedFunction
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: return function(*args, **kwargs)
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/python/compat.py", line 404, in reraise
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: raise exception.with_traceback(traceback)
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/enterprise/adbapi.py", line 284, in _runWithConnection
Nov 30 16:25:07 localhost.localdomain matrix-synapse[8853]: result = func(conn, *args, **kw)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 786, in inner_func
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: return func(db_conn, *args, **kwargs)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 554, in new_transaction
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: r = func(cursor, *args, **kwargs)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/databases/main/account_data.py", line 463, in _add_account_data_for_user
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: self.db_pool.simple_upsert_txn(
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 1033, in simple_upsert_txn
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: return self.simple_upsert_txn_native_upsert(
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 1159, in simple_upsert_txn_native_upsert
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: txn.execute(sql, list(allvalues.values()))
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 298, in execute
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: self._do_execute(self.txn.execute, sql, *args)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 331, in _do_execute
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: return func(sql, *args)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: psycopg2.errors.SerializationFailure: could not serialize access due to concurrent update
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: 2021-11-30 15:25:07,984 - synapse.http.server - 93 - ERROR - PUT-653 - Failed handle request via 'AccountDataServlet':
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: Traceback (most recent call last):
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/http/server.py", line 258, in _async_render_wrapper
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: callback_return = await self._async_render(request)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/http/server.py", line 446, in _async_render
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: callback_return = await raw_callback_return
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/rest/client/account_data.py", line 57, in on_PUT
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: await self.handler.add_account_data_for_user(user_id, account_data_type, body)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/handlers/account_data.py", line 92, in add_account_data_for_user
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: max_stream_id = await self._store.add_account_data_for_user(
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/databases/main/account_data.py", line 433, in add_account_data_for_user
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: await self.db_pool.runInteraction(
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 686, in runInteraction
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: result = await self.runWithConnection(
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 791, in runWithConnection
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: return await make_deferred_yieldable(
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/python/threadpool.py", line 238, in inContext
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: result = inContext.theWork() # type: ignore[attr-defined]
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/python/threadpool.py", line 254, in
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: inContext.theWork = lambda: context.call( # type: ignore[attr-defined]
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/python/context.py", line 118, in callWithContext
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: return self.currentContext().callWithContext(ctx, func, *args, **kw)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/python/context.py", line 83, in callWithContext
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: return func(*args, **kw)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/enterprise/adbapi.py", line 293, in _runWithConnection
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: compat.reraise(excValue, excTraceback)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/python/deprecate.py", line 298, in deprecatedFunction
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: return function(*args, **kwargs)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/python/compat.py", line 404, in reraise
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: raise exception.with_traceback(traceback)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/twisted/enterprise/adbapi.py", line 284, in _runWithConnection
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: result = func(conn, *args, **kw)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 786, in inner_func
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: return func(db_conn, *args, **kwargs)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 554, in new_transaction
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: r = func(cursor, *args, **kwargs)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/databases/main/account_data.py", line 463, in _add_account_data_for_user
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: self.db_pool.simple_upsert_txn(
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 1033, in simple_upsert_txn
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: return self.simple_upsert_txn_native_upsert(
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 1159, in simple_upsert_txn_native_upsert
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: txn.execute(sql, list(allvalues.values()))
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 298, in execute
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: self._do_execute(self.txn.execute, sql, *args)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: File "/usr/local/lib/python3.8/site-packages/synapse/storage/database.py", line 331, in _do_execute
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: return func(sql, *args)
Nov 30 16:25:08 localhost.localdomain matrix-synapse[8853]: psycopg2.errors.SerializationFailure: could not serialize access due to concurrent update
```

### Steps to reproduce

- no idea

### Version information

- **Homeserver**:

If not matrix.org:
chagai.website

- **Version**:
{"server_version":"1.45.1","python_version":"3.8.12"}
- **Install method**:

Ansible playbook - official docker image
- **Platform**:

centOS

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.