On Tue, Nov 13, 2018 at 10:22 PM Pavel <ospavelmail@gmail.com> wrote:
> You can log contents of directory before rmdir.
> If it empty then the reason should be in multiworkers: looks like
> Windows disallow to delete directory if it (or files in it) used by
> somebody else (like other workers) and maybe some workers didn't
> release it before rmdir. Linux allows as I know.
Yeah, its "unlink" operation seems to be an incomplete illusion. The
fix for that is simply to reorder some cleanup operations in our error
path.
Oh, I think I just understood the root bug. It looks like a stupid
"large file" problem, 32 bit off_t being overflowed. I'll keep the
discussion off that over on the other thread. I posted a patch on
that thread; if you're able to recompile PostgreSQL, it'd be great if
you could test it. Otherwise, no worries.
--
Thomas Munro
http://www.enterprisedb.com