Commit Graph

10 Commits

Author SHA1 Message Date
Azat Khuzhin
98cd92017e Fix waiting of shared lock after exclusive lock failure
When WRITE lock attemp fails (exclusive lock for ALTER/DELETE), and
there are multiple READ locks (shared lock for SELECT/INSERT), i.e. one
INSERT is in progress and one SELECT is queued after ALTER/DELETE
started but before it fails, this SELECT will wait until INSERT will
finishes.

This happens because in case of WRITE lock failure it does not notify
the next READ lock that can be acquired.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-05 19:12:47 +03:00
Alexey Milovidov
fe6b7c77c7 Rename "common" to "base" 2021-10-02 10:13:14 +03:00
Anton Popov
9a58e4a8ba fix deadlock in concurrent async inserts and truncates 2021-09-27 19:39:32 +03:00
Ivan Lezhankin
b726845be2 [WIP] 2021-03-04 14:10:21 +03:00
Artem Zuikov
51ba12c2c3
Try speedup build (#14809) 2020-09-15 12:55:57 +03:00
Alexander Kazakov
d5b3b2c7b6
Updated RWLockImpl: Fixed suboptimacy (readers queuing up) + minor tweaks to names and comments (#10303)
* Readers queue correction
* Comments, renamings and cosmetics
2020-04-16 21:56:21 +03:00
Alexander Kazakov
621d26bcf7 Better timeout diagnostics message 2020-04-07 14:34:35 +03:00
Alexander Kazakov
78f97a7a59 Build fixes 2020-04-07 12:23:08 +03:00
Alexander Kazakov
b98bc9afef Reworked RWLockImpl::getLock() + phase-fairness
Timeout param added to getLock() method
2020-04-07 02:44:45 +03:00
Ivan Lezhankin
06446b4f08 dbms/ → src/ 2020-04-03 18:14:31 +03:00