[MDEV-15089] Ensure that connection ID is in 32bit range Created: 2018-01-26 Updated: 2018-02-01 Resolved: 2018-02-01 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Server |
| Affects Version/s: | None |
| Fix Version/s: | 10.2.13 |
| Type: | Bug | Priority: | Major |
| Reporter: | Vladislav Vaintroub | Assignee: | Vladislav Vaintroub |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Sprint: | 10.2.13 | ||||||||
| Description |
|
Connectors assume that connection ID(often referred to as thread_id in the source) is 32bit , because this is what server sends them in the first packet. However, server handles connection IDs as 64bit integers, which means we overflow can happen, and connection ID sent to client is no longer valid, MySQL happens to have fixed this bug in 5.7 with https://dev.mysql.com/worklog/task/?id=7293. I believe we can think of a better scalable allocation algorithm not involving any kinds of hashes. |