fill_temporary_tables() does not protect thd->temporary_tables access with LOCK_temporary_tables
Bug #1223335 reported by
Laurynas Biveinis
on 2013-09-10
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| Percona Server moved to https://jira.percona.com/projects/PS |
Invalid
|
Undecided
|
Unassigned |
Bug Description
int fill_temporary_
{
...
TABLE *tmp;
for (tmp=thd-
if (store_
DBUG_
}
}
DBUG_RETURN(0);
}
It needs to hold thd->LOCK_
Laurynas Biveinis (laurynas-biveinis)
on 2013-09-10
tags: | added: i-s-temp-tables |
Alexey Kopytov (akopytov) wrote : | #1 |
no longer affects: | percona-server/5.6 |
no longer affects: | percona-server/5.5 |
no longer affects: | percona-server/5.1 |
Changed in percona-server: | |
status: | Fix Committed → Invalid |
importance: | Medium → Undecided |
assignee: | Laurynas Biveinis (laurynas-biveinis) → nobody |
Indeed. I also mistakenly thought that LOCK_temporary_
Shahriyar Rzayev (rzayev-sehriyar) wrote : | #3 |
Percona now uses JIRA for bug reports so this bug report is migrated to: https:/
To post a comment you must log in.
The whole point of introducing LOCK_temporary_ tables was to protect reads in fill_global_ temporary_ tables( ) from concurrent thd->temporary_ tables modifications in other threads.
Since fill_temporary_ tables( ) is only used to read the current connection's list of temporary tables, no concurrent modifications are possible. Thus the bug is invalid.