Обсуждение: Re: [COMMITTERS] pgsql: Convert wal_sync_method to guc enum.

Поиск
Список
Период
Сортировка

Re: [COMMITTERS] pgsql: Convert wal_sync_method to guc enum.

От
Magnus Hagander
Дата:
Magnus Hagander wrote:
> Tom Lane wrote:
> > mha@postgresql.org (Magnus Hagander) writes:
> > > Convert wal_sync_method to guc enum.
> > 
> > Buildfarm says you broke things for Windows.
> 
> Yeah, working on that with Dave. First part was to unbreak the error
> message so we can actually figure out what's broken :-(
> 

I need to leave for a couple of hours, will look again when I get back.
But so far, I'm quite surprised. Here's my reasoning, please poke holes
in it :-)

1) Win32 always defines O_DSYNC (win32.h)
2) That means we should always define OPEN_DATASYNC_FLAG (xlogdefs.h,
line 107)
3) That means that the error should not happen at all, because of
xlog.c line 6358.

Anybody who can kill this argument before I get back ;-) It's obviously
flawed somewhere...

//Magnus


Re: [COMMITTERS] pgsql: Convert wal_sync_method to guc enum.

От
Tom Lane
Дата:
Magnus Hagander <magnus@hagander.net> writes:
> I need to leave for a couple of hours, will look again when I get back.
> But so far, I'm quite surprised. Here's my reasoning, please poke holes
> in it :-)

I think you forgot to handle SYNC_METHOD_OPEN_DSYNC in issue_xlog_fsync.
If you are going to split SYNC_METHOD_OPEN into two codes, you need to
handle both those codes everywhere SYNC_METHOD_OPEN was formerly
referenced ...
        regards, tom lane


Re: [COMMITTERS] pgsql: Convert wal_sync_method to guc enum.

От
Magnus Hagander
Дата:
Tom Lane wrote:
> Magnus Hagander <magnus@hagander.net> writes:
> > I need to leave for a couple of hours, will look again when I get
> > back. But so far, I'm quite surprised. Here's my reasoning, please
> > poke holes in it :-)
> 
> I think you forgot to handle SYNC_METHOD_OPEN_DSYNC in
> issue_xlog_fsync. If you are going to split SYNC_METHOD_OPEN into two
> codes, you need to handle both those codes everywhere
> SYNC_METHOD_OPEN was formerly referenced ...

That was it, fixed. I missed the fact that the same error message
occured twice in the file. 

I blame lack of caffeine comined with having hacked Latex code. It just
kills the brain.

Thanks for the pointer!

//Magnus