RE: strange behaviour (bug)

From: "Hiroshi Inoue" <Inoue(at)tpf(dot)co(dot)jp>
To: "Mikheev, Vadim" <vmikheev(at)SECTORBASE(dot)COM>
Cc: <pgsql-hackers(at)postgresql(dot)org>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: RE: strange behaviour (bug)
Date: 2000-09-14 23:38:39
Message-ID: 000601c01ea4$e8d33700$2801007e@tpf.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> -----Original Message-----
> From: Mikheev, Vadim [mailto:vmikheev(at)SECTORBASE(dot)COM]
>
> > > I'm going to handle btree split but currently there is no way
> > > to rollback it - we unlock splitted pages after parent
> > > is locked and concurrent backend may update one/both of
> > > siblings before we get our locks back.
> > > We have to continue with split or could leave parent unchanged
> > > and handle "my bits moved..." (ie continue split in another
> > > xaction if we found no parent for a page) ... or we could hold
> > > locks on all splitted pages till some parent updated without
> > > split, but I wouldn't do this.
> > >
> >
> > It seems to me that btree split operations must always be
> > rolled forward even in case of abort/crash. DO you have
> > other ideas ?
>
> Yes, it should, but hard to implement, especially for abort case.
> So, for the moment, I would proceed with handling "my bits moved...":
> no reason to elog(FATAL) here - we can try to insert missed pointers
> into parent page(s). WAL will guarantee that btitems moved to right
> sibling will not be lost (level consistency), and missing some pointers
> in parent level is acceptable - scans will work.
>

I looked into your XLOG stuff a little.
It seems that XLogFileOpen() isn't implemented yet.
Would/should XLogFIleOpen() guarantee to open a Relation
properly at any time ?

Regards.

Hiroshi Inoue

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Mikheev, Vadim 2000-09-14 23:57:17 RE: strange behaviour (bug)
Previous Message Mikheev, Vadim 2000-09-14 23:36:14 RE: Status of new relation file naming