Re: Re: [COMMITTERS] pgsql: Reduce WAL activity for page splits: > Currently, an index split

From: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
To: Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc>
Cc: Bruce Momjian <momjian(at)postgresql(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Re: [COMMITTERS] pgsql: Reduce WAL activity for page splits: > Currently, an index split
Date: 2007-02-08 09:20:59
Message-ID: 45CAEB7B.1000805@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Stefan Kaltenbrunner wrote:
> Bruce Momjian wrote:
>> Log Message:
>> -----------
>> Reduce WAL activity for page splits:
>>
>>> Currently, an index split writes all the data on the split page to
>>> WAL. That's a lot of WAL traffic. The tuples that are copied to the
>>> right page need to be WAL logged, but the tuples that stay on the
>>> original page don't.
>
>
> this patch killed both of my OpenBSD buildfarm members

Sorry about that.. I'll take a look at it.

>
> a backtrace of the crash shows:
>
> (gdb) bt
> #0 0x1c055504 in _bt_split (rel=0x835fcab0, buf=53, firstright=50,
> newitemoff=54, newitemsz=76,
> newitem=0x8210a364, newitemonleft=0 '\0') at nbtinsert.c:956
> #1 0x1c05468b in _bt_insertonpg (rel=0x835fcab0, buf=53,
> stack=0x8210a078, keysz=2, scankey=0x8210a3f0,
> itup=0x8210a364, afteritem=0, split_only_page=0 '\0') at
> nbtinsert.c:538
> #2 0x1c053fae in _bt_doinsert (rel=0x835fcab0, itup=0x8210a364,
> index_is_unique=1 '\001', heapRel=0x7ec0ee7c)
> at nbtinsert.c:141
> #3 0x1c05a1c4 in btinsert (fcinfo=0x2) at nbtree.c:224
> #4 0x1c2028fc in FunctionCall6 (flinfo=0x8bc6d1f0, arg1=2, arg2=2,
> arg3=2, arg4=2, arg5=2, arg6=2) at fmgr.c:1267
> #5 0x1c052d20 in index_insert (indexRelation=0x835fcab0,
> values=0xcf7defd0, isnull=0xcf7df050 "",
> heap_t_ctid=0x7df53e50, heapRelation=0x7ec0ee7c, check_uniqueness=1
> '\001') at indexam.c:196
> #6 0x1c08f87e in CatalogIndexInsert (indstate=0x2,
> heapTuple=0x8210a224) at indexing.c:124
> #7 0x1c08f902 in CatalogUpdateIndexes (heapRel=0x7ec0ee7c,
> heapTuple=0x7df53e4c) at indexing.c:149
> #8 0x1c17255c in SetRelationRuleStatus (relationId=10951, relHasRules=1
> '\001', relIsBecomingView=0 '\0')
> at rewriteSupport.c:80
> #9 0x1c16f074 in DefineQueryRewrite (stmt=0x82ca7e78) at
> rewriteDefine.c:432
> #10 0x1c18c822 in PortalRunUtility (portal=0x82cb201c, query=0x81897484,
> dest=0x3c0c8ff4,
> completionTag=0xcf7df2a0 "") at pquery.c:1063
> #11 0x1c18cb12 in PortalRunMulti (portal=0x82cb201c, dest=0x3c0c8ff4,
> altdest=0x3c0c8ff4,
> completionTag=0xcf7df2a0 "") at pquery.c:1131
> #12 0x1c18c28a in PortalRun (portal=0x82cb201c, count=2147483647,
> dest=0x3c0c8ff4, altdest=0x3c0c8ff4,
> completionTag=0xcf7df2a0 "") at pquery.c:700
> #13 0x1c187d13 in exec_simple_query (
> query_string=0x84a2501c "/*\n * PostgreSQL System Views\n *\n *
> Copyright (c) 1996-2007, PostgreSQL Global Development Group\n *\n *
> $PostgreSQL: pgsql/src/backend/catalog/system_views.sql,v 1.35
> 2007/01/05 22:19:25 momjian Exp $\n"...) at postgres.c:939
> #14 0x1c18abb2 in PostgresMain (argc=1, argv=0xcf7df480,
> username=0x80ba55b0 "mastermind") at postgres.c:3423
> #15 0x1c122102 in main (argc=10, argv=0xcf7df47c) at main.c:186
>
>
> Stefan
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
> choose an index scan if your joining column's datatypes do not
> match

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2007-02-08 09:45:35 Re: Re: [COMMITTERS] pgsql: Reduce WAL activity for page splits: > Currently, an index split
Previous Message Stefan Kaltenbrunner 2007-02-08 08:31:28 Re: [COMMITTERS] pgsql: Reduce WAL activity for page splits: > Currently, an index split

Browse pgsql-hackers by date

  From Date Subject
Next Message Jim C. Nasby 2007-02-08 09:27:54 Re: Ooops ... seems we need a re-release pronto
Previous Message Stefan Kaltenbrunner 2007-02-08 08:31:28 Re: [COMMITTERS] pgsql: Reduce WAL activity for page splits: > Currently, an index split