Re: [HACKERS] Checkpoint request failed on version 8.2.1.

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Takayuki Tsunakawa <tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Jim C(dot) Nasby" <jim(at)nasby(dot)net>, Patrick Earl <patearl(at)patearl(dot)net>, pgsql-general(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [HACKERS] Checkpoint request failed on version 8.2.1.
Date: 2007-01-16 09:14:26
Message-ID: 20070116091426.GB1564@svr2.hagander.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

On Tue, Jan 16, 2007 at 10:20:04AM +0900, Takayuki Tsunakawa wrote:
> From: "Magnus Hagander" <magnus(at)hagander(dot)net>
> > But yeah, that's probably a good idea. A quick look at the code says
> we
> > should at least ask people who have this problem to give it a run
> with
> > logging at DEBUG5 which should then log exactly what the errorcode
> was.
> > Or are you seeing more places that need such logging first?
>
> I'm sorry we can't get get the Win32 error code to be displayed. I
> got the following messages:
>
> 2007-01-16 09:24:48 DEBUG: checkpoint starting
> 2007-01-16 09:24:48 ERROR: could not open relation 1663/10819/18296:
> Permission denied
> 2007-01-16 09:24:48 ERROR: checkpoint request failed
> 2007-01-16 09:24:48 HINT: Consult recent messages in the server log
> for details.
> 2007-01-16 09:24:48 STATEMENT: checkpoint;
>
>
> The reason is that src/port/open.c does not use _dosmaperr(). It
> converts the Win32 error code to errno directly. EACCES is converted
> from ERROR_ACCESS_DENIED only. Mmm, we may have to compromise as
> Tom-san says.

Good point. In this case, we *know* it's access denied then, and not
some other error code.

And actually, when I look at the API docs, our case now seems to be
documented. Or am I misreading our situation. I have:

"If you call CreateFile on a file that is pending deletion as a result
of a previous call to DeleteFile, the function fails. The operating
system delays file deletion until all handles to the file are closed.
GetLastError returns ERROR_ACCESS_DENIED."

//Magnus

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Florian Weimer 2007-01-16 09:25:55 Re: Very long "or" where clause
Previous Message Scara Maccai 2007-01-16 09:08:35 Very long "or" where clause

Browse pgsql-hackers by date

  From Date Subject
Next Message NikhilS 2007-01-16 09:55:58 Re: PrivateRefCount (for 8.3)
Previous Message Magnus Hagander 2007-01-16 09:09:46 Re: O_DIRECT support for Windows