Stale reads on Element.add_parent
There is not a single mention of .using('default')
anywhere throughout Element.add_parent
. Multiple scenarios can show the stale reads, and one occurred in prod:
- An element gets created as a child of another (a page in a volume)
- Another element gets created as a grandchild (a paragraph in that page)
Since existing paths can be loaded from a replica, it is possible that an element path gets created for the paragraph without including the volume, which can cause issues when listing elements non-recursively.
We can also add a twist to this scenario and create cycles in the graph as the backend will be unable to detect them.
This can also imply that adding many parents to this element can cause its children to not all be in the appropriate grandparents, although this is much more of an edge case.
Edited by Erwan Rouchet