Commit 020025d
Bug#26779650 - LONG SEMAPHORE WAIT CAUSED BY DROP TABLE
This is due to the for-loop in btr_drop_ahi_for_table() will skip pages of status BUF_IO_WRITE, and re-check it again later. But there are some other reasons the status can't be changed to BUF_IO_NONE quickly. Thus it continues to iterate over LRU list over and over. This may last for severl seconds or even minutes. Current fix is to relax the condition to drop AHI for pages of BUF_IO_WRITE too, and it will yield for a while after every iteration over all LRU lists. Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>1 parent 53cf8e9 commit 020025d
1 file changed
+8
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1479 | 1479 | | |
1480 | 1480 | | |
1481 | 1481 | | |
1482 | | - | |
| 1482 | + | |
| 1483 | + | |
1483 | 1484 | | |
1484 | 1485 | | |
1485 | 1486 | | |
| |||
1507 | 1508 | | |
1508 | 1509 | | |
1509 | 1510 | | |
| 1511 | + | |
| 1512 | + | |
1510 | 1513 | | |
1511 | 1514 | | |
1512 | 1515 | | |
| |||
1548 | 1551 | | |
1549 | 1552 | | |
1550 | 1553 | | |
1551 | | - | |
| 1554 | + | |
| 1555 | + | |
1552 | 1556 | | |
1553 | 1557 | | |
1554 | 1558 | | |
| |||
1574 | 1578 | | |
1575 | 1579 | | |
1576 | 1580 | | |
| 1581 | + | |
| 1582 | + | |
1577 | 1583 | | |
1578 | 1584 | | |
1579 | 1585 | | |
| |||
0 commit comments