Description
In MySQL, it's impossible to manipulate different databases on the same session, the problem is that right now you can execute a query targeting a totally different database than the one you expect, giving you a result that does not make sense. Combine this with the document cache and the security cache, and you can create quite a mess without always noticing before it's too late.
It's a known problem for a long time, but we cannot continue like this, at the very least we should identify such use cases and fail the query when that happen instead of executing it on the wrong database.
Attachments
Issue Links
- is duplicated by
-
XWIKI-8172 Fail the query if we find a nested database query within a transaction that operates on a different database
- Closed
- relates to
-
XWIKI-19729 Query filter are executed inside an hibernate session
- Closed
-
XWIKI-20193 Error during reindexing of untyped link to subwiki pages
- Closed
-
XWIKI-18508 Access (view) denied randomly on pages and solr search
- Closed
-
XWIKI-14323 Cluster disynchronization between nodes for programming rights
- Closed