From:
Robert Haas <robertmhaas(at)gmail(dot)com>
To:
Jim Nasby <jim(at)nasby(dot)net>
Cc:
Jeff Davis <pgsql(at)j-davis(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject:
Re: crash-safe visibility map, take three
Date:
2010-12-02 04:36:42
Message-ID:
AANLkTimtNC4P+0pGqSHMAx9mVnuJ9UA=ZkTivEwsoULd@mail.gmail.com (view raw or flat )
Thread:
2010-11-30 04:57:25 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-11-30 07:34:04 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-11-30 15:32:15 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-11-30 15:43:47 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-11-30 15:54:50 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-11-30 16:40:10 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-11-30 16:48:08 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-11-30 16:54:43 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-11-30 16:59:20 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-11-30 17:01:56 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-11-30 15:38:02 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-11-30 15:46:44 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-11-30 15:53:25 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-11-30 16:02:05 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-11-30 16:16:33 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-11-30 16:22:03 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-11-30 16:27:04 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-11-30 16:33:18 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-11-30 16:47:40 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-11-30 16:49:34 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-11-30 16:55:44 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-11-30 17:00:29 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-11-30 17:10:49 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-11-30 17:12:35 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-11-30 17:22:02 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-11-30 17:25:18 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-11-30 17:36:07 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-11-30 17:25:41 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-11-30 17:26:08 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-11-30 16:59:47 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-12-01 01:35:56 from Bruce Momjian <bruce(at)momjian(dot)us>
2010-12-01 07:35:40 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-12-01 13:39:07 from Bruce Momjian <bruce(at)momjian(dot)us>
2010-12-01 13:53:12 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-12-01 14:57:51 from "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
2010-12-01 15:46:21 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-12-01 15:36:51 from Bruce Momjian <bruce(at)momjian(dot)us>
2010-12-01 16:25:36 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-12-01 16:40:39 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-12-01 16:43:39 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-12-01 17:23:50 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-12-01 16:40:46 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-12-01 16:44:12 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-12-01 16:48:03 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-12-01 17:22:41 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-12-01 17:31:36 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-12-01 20:31:27 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-12-01 20:59:49 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-12-01 21:27:28 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-12-01 22:24:22 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-12-02 04:22:12 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-12-02 11:37:57 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2010-12-02 14:37:37 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-12-02 19:01:43 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-12-02 19:16:09 from "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
2010-12-02 22:00:18 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-12-02 23:37:05 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-12-03 00:06:29 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-12-03 00:40:44 from Jeff Davis <pgsql(at)j-davis(dot)com>
2010-12-01 23:41:33 from Jim Nasby <jim(at)nasby(dot)net>
2010-12-02 04:36:42 from Robert Haas <robertmhaas(at)gmail(dot)com>
2010-12-03 14:25:20 from Florian Weimer <fweimer(at)bfk(dot)de>
2010-11-30 16:27:30 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-11-30 16:10:13 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-11-30 16:30:53 from Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
2010-11-30 16:37:13 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2010-11-30 13:18:12 from Rob Wultsch <wultsch(at)gmail(dot)com>
2011-01-05 20:22:54 from Jesper Krogh <jesper(at)krogh(dot)cc>
2011-01-06 02:10:15 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-01-06 07:00:29 from Jesper Krogh <jesper(at)krogh(dot)cc>
2011-01-07 18:28:54 from Jim Nasby <jim(at)nasby(dot)net>
2011-01-08 02:59:36 from Robert Haas <robertmhaas(at)gmail(dot)com>
Lists:
pgsql-hackers
On Wed, Dec 1, 2010 at 6:41 PM, Jim Nasby <jim(at)nasby(dot)net> wrote:
> On Dec 1, 2010, at 2:59 PM, Robert Haas wrote:
>> 2. Hint bits are necessary because an old XID can't be viewed as
>> guaranteed committed.
>
> Hmm... I thought hint bits were necessary because it's too expensive to query CLOG for every tuple. If my understanding is correct then if we fix the CLOG performance issue we don't need hint bits anymore.
My point is - in InnoDB, when an XID aborts, it's not removed from
their equivalent of the ProcArray until it has been fully rolled back.
So if you see an XID prior to GlobalXmin, you don't need a hint bit
to tell you whether it's committed. Go directly to yes.
It is also correct to say that it's too expensive to query CLOG for
every tuple. But InnoDB isn't solving that by having a cheaper CLOG;
they're solving it by not having CLOG at all. I doubt that it's
possible to make CLOG lookups so cheap that we don't need hint bits
any more. Take a look at HeapTupleSatisfiesMVCC(). Those hint bit
tests are a single machine instruction. It's tough to beat that.
It's tough to get within two orders of magnitude. I'd like to, but I
don't see how.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
In response to
Responses
pgsql-hackers by date
Next :From: ghatpandeDate: 2010-12-02 05:18:31
Subject : Re: Proposal: First step towards Intelligent,
integrated database
Previous :From : Tom LaneDate : 2010-12-02 04:34:12
Subject : Re: is cachedFetchXid ever invalidated?