-
Type: Bug
-
Resolution: Gone away
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Querying
-
None
-
ALL
-
Execution Team 2020-04-06
-
24
Since we no longer take a DB MODE_X lock for collMod (see SERVER-46865), the code for resolving namespaces in aggregate(), which takes a DB MODE_IS lock, does not necessarily see a consistent "view" of the view catalog. See link.
This means that aggregate() can execute a pipeline on a set of view definitions that are not valid/nonsensical and possibly even contain a cycle.
One potential fix would be to have the view resolution in run_aggregate be performed while holding a collection IS lock on system.views. I believe this will fix the issue as long as collMod continues taking a collection X lock (see here).
- related to
-
SERVER-46865 collMod should not take database MODE_X lock
- Closed