Re: [HACKERS] What's left?
- From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
- To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
- Cc: Claudio Natoli <claudio(dot)natoli(at)memetrics(dot)com>, "''Merlin Moncure' '" <merlin(dot)moncure(at)rcsonline(dot)com>, "'pgsql-hackers-win32 '" <pgsql-hackers-win32(at)postgresql(dot)org>, "'PostgreSQL-development '" <pgsql-hackers(at)postgresql(dot)org>
- Subject: Re: [HACKERS] What's left?
- Date: Mon, 26 Jan 2004 00:26:24 -0500
- Message-id: <1038(dot)1075094784(at)sss(dot)pgh(dot)pa(dot)us>
Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> I think it will very likely rename/unlink will fail because of the file
> descriptor cache kept by each backend.
Hmm ... you're probably right. Okay, it's a more significant issue than
I thought.
> I am attaching dir.c from the PeerDirect port. It handles unlink
> failures by appending the failed file name to a file that is later read
> and another unlink attempted. Perhaps this is something we can do, and
> have try unlinks after each checkpoint.
That seems like a possibility. The open files will get closed very soon
after the delete occurs (as a byproduct of relcache flush), so we don't
need very much of a delay. Next checkpoint sounds reasonable.
> PeerDirect handles rename by just looping. We really can't delay a
> rename. There is discussion in the Win32 TODO detail that goes over
> some options, I think.
Do we really have any problem with rename? We don't rename table files.
The renames I can think of are renaming temp files into place as
permanent ones, and there would be no open references to such a file.
regards, tom lane
Home |
Main Index |
Thread Index