BTR\garbage_collect code can make a deadlock in a page cache [CORE1298] #1719
Labels
affect-version: 1.0.3
affect-version: 1.5.0
affect-version: 1.5.1
affect-version: 1.5.2
affect-version: 1.5.3
affect-version: 1.5.4
affect-version: 2.0.0
affect-version: 2.0.1
affect-version: 2.1 Initial
component: engine
fix-version: 2.0.2
fix-version: 2.1 Beta 1
priority: major
qa: cannot be tested
type: bug
Submitted by: @hvlad
To remove page from index BTR\garbage_collect take locks on parent, left, removing and right pages in exactly this order.
After that it searched parent page for node pointing to removing page and, if not found, traverse upper level of b-tree by right sibling pointers.
It can lead to deadlocks as locks at lower level peges are retained.
Solution is to searched node in parent page right after it being fetched and before fetch of lower level pages
Commits: f282a5b f3163f9
The text was updated successfully, but these errors were encountered: