0
0
Fork 0
mirror of https://github.com/matrix-org/dendrite synced 2024-12-16 02:53:41 +01:00
dendrite/clientapi/auth/storage/accounts/postgres
Kegsay c31cb02271
bugfix: Fix a race condition when creating guest accounts (#882)
* bugfix: Fix a race condition when creating guest accounts

It was possible to both select the same next numeric ID and then both
attempt to INSERT this into the table. This would cause a UNIQUE violation
which then presented itself as an error in sqlite because it does not
implement `common.IsUniqueConstraintViolationErr`.

The fix here is NOT to implement `common.IsUniqueConstraintViolationErr`
otherwise the 2 users would get the SAME guest account. Instead, all of
these operations should be done inside a transaction. This is what this
PR does.

* Update postgres

* Typo

* Actually use the txn when creating accounts

* bugfix for database is locked on guest reg
2020-03-06 18:00:07 +00:00
..
account_data_table.go bugfix: Fix a race condition when creating guest accounts (#882) 2020-03-06 18:00:07 +00:00
accounts_table.go bugfix: Fix a race condition when creating guest accounts (#882) 2020-03-06 18:00:07 +00:00
filter_table.go Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00
membership_table.go Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00
profile_table.go bugfix: Fix a race condition when creating guest accounts (#882) 2020-03-06 18:00:07 +00:00
storage.go bugfix: Fix a race condition when creating guest accounts (#882) 2020-03-06 18:00:07 +00:00
threepid_table.go Support sqlite in addition to postgres (#869) 2020-02-13 17:27:33 +00:00