> On 20 Sep 2021, at 12:50, Drouvot, Bertrand <bdrou...@amazon.com> wrote: > > Hi Ronan, > > On 9/17/21 10:09 AM, Ronan Dunklau wrote: >> Hello Bertrand, >> >> Le mardi 4 mai 2021, 11:55:43 CEST Drouvot, Bertrand a écrit : >>> Implementation overview: >>> >>> * A new catalog snapshot is added: DirtyCatalogSnapshot. >>> * This catalog snapshot is a dirty one to be able to look for >>> in-flight dependencies. >>> * Its usage is controlled by a new UseDirtyCatalogSnapshot variable. >>> * Any time this variable is being set to true, then the next call to >>> GetNonHistoricCatalogSnapshot() is returning the dirty snapshot. >>> * This snapshot is being used to check for in-flight dependencies and >>> also to get the objects description to generate the error messages. >>> >> I quickly tested the patch, it behaves as advertised, and passes tests. > > Thanks for looking at it! > >> >> Isolation tests should be added to demonstrate the issues it is solving. > > Good point. I'll have a look. > >> >> However, I am bit wary of this behaviour of setting the DirtyCatalogSnapshot >> global variable which is then reset after each snapshot acquisition: I'm >> having trouble understanding all the implications of that, if it would be >> possible to introduce an unforeseen snapshot before the one we actually want >> to be dirty. > > I don't think that could be possible as long as: > > - this is a per backend variable > > - we pay attention where we set it to true > > But i might be missing something. > > Do you have any corner cases in mind? > >> I don't want to derail this thread, but couldn't predicate locks on the >> pg_depend index pages corresponding to the dropped object / referenced >> objects >> work as a different approach ? > > I'm fine to have a look at another approach if needed, but does it mean we > are not happy with the current approach proposal?
This patch fails to apply as a whole, with the parts applying showing quite large offsets. Have you had the chance to look at the isolation test asked for above? -- Daniel Gustafsson https://vmware.com/