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

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

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

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

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2007-02-08 09:20:59 Re: Re: [COMMITTERS] pgsql: Reduce WAL activity for page splits: > Currently, an index split
Previous Message Bruce Momjian 2007-02-08 05:05:54 pgsql: Reduce WAL activity for page splits: > Currently, an index split

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2007-02-08 09:20:59 Re: Re: [COMMITTERS] pgsql: Reduce WAL activity for page splits: > Currently, an index split
Previous Message Bruce Momjian 2007-02-08 05:05:54 pgsql: Reduce WAL activity for page splits: > Currently, an index split