On Tue, May 7, 2019 at 6:08 AM Robert Haas <robertmh...@gmail.com> wrote: > On Mon, May 6, 2019 at 1:58 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > > Robert Haas <robertmh...@gmail.com> writes: > > > Right. That's why I favor applying the change to move DSM cleanup to > > > the end for now, and seeing how that goes. It could be that we'll > > > eventually discover that doing it before all of the AtEOXact_BLAH > > > functions have had a short at doing their thing is still too early, > > > but the only concrete problem that we know about right now can be > > > solved by this much-less-invasive change. > > > > But Amit's results say that this *doesn't* fix the problem that we know > > about. I suspect the reason is exactly that we need to run AtEOXact_Files > > or the like before closing DSM. But we should get some Windows developer > > to trace through this and identify the cause for-sure before we go > > designing an invasive fix. > > Huh, OK.
The reason the patch didn't solve the problem is that AtEOXact_Parallel() calls DestroyParallelContext(). So DSM segments that happen to belong to ParallelContext objects are already gone by the time resowner.c gets involved. -- Thomas Munro https://enterprisedb.com