ddd - Mailing list pgsql-hackers

From Andres Freund
Subject ddd
Date
Msg-id 20171221143106.5lhtygohvmazli3x@alap3.anarazel.de
Whole thread Raw
Responses force parallel mode vs CTAS
Re: ddd
List pgsql-hackers
Hi Robert, Todd, All,

I think both I and commit e9baa5e9fa147e are confused.

Mantid started to fail with the parallel hash join commit, with the following
assert failure [1]:
#2  0x00000000008698e7 in ExceptionalCondition (conditionName=conditionName@entry=0x8efee8
"!(CurrentTransactionState->parallelModeLevel== 0)", errorType=errorType@entry=0x8b35c9 "FailedAssertion",
fileName=fileName@entry=0x8ec2bf"xact.c", lineNumber=lineNumber@entry=691) at assert.c:54
 
#3  0x000000000050c7fb in GetCurrentCommandId (used=used@entry=1 '\001') at xact.c:691
#4  0x00000000004d3f0c in toast_save_datum (value=value@entry=43175280, oldexternal=0x0, options=options@entry=2,
rel=0x7f98a770d588,rel=0x7f98a770d588) at tuptoaster.c:1477
 
#5  0x00000000004d54f9 in toast_insert_or_update (rel=rel@entry=0x7f98a770d588, newtup=0x28deaf0,
oldtup=oldtup@entry=0x0,options=2) at tuptoaster.c:814
 
#6  0x00000000004c0bf5 in heap_prepare_insert (relation=relation@entry=0x7f98a770d588, tup=tup@entry=0x28deaf0,
xid=<optimizedout>, cid=cid@entry=34, options=options@entry=2) at heapam.c:2660
 
#7  0x00000000004c6eeb in heap_insert (relation=0x7f98a770d588, tup=0x28deaf0, cid=34, options=2, bistate=0x251d220) at
heapam.c:2429
#8  0x00000000005b39a3 in intorel_receive (slot=<optimized out>, self=0x2359420) at createas.c:599
#9  0x000000000061cd58 in ExecutePlan (execute_once=<optimized out>, dest=0x2359420, direction=<optimized out>,
numberTuples=0,sendTuples=1 '\001', operation=CMD_SELECT, use_parallel_mode=<optimized out>, planstate=0x23effb0,
estate=0x23efd98)at execMain.c:1753
 
#10 standard_ExecutorRun (queryDesc=0x24f3910, direction=<optimized out>, count=0, execute_once=<optimized out>) at
execMain.c:361
#11 0x00000000005b3c91 in ExecCreateTableAs (stmt=stmt@entry=0x2337e58, queryString=queryString@entry=0x2336bc8 "create
tablewide as select generate_series(1, 2) as id, rpad('', 320000, 'x') as t;", params=params@entry=0x0,
queryEnv=queryEnv@entry=0x0,completionTag=completionTag@entry=0x7fff66986fc0 "") at createas.c:351
 
#12 0x000000000076a6a9 in ProcessUtilitySlow (pstate=pstate@entry=0x2359308, pstmt=pstmt@entry=0x23387d0,
queryString=queryString@entry=0x2336bc8"create table wide as select generate_series(1, 2) as id, rpad('', 320000, 'x')
ast;", context=context@entry=PROCESS_UTILITY_TOPLEVEL, params=params@entry=0x0, queryEnv=queryEnv@entry=0x0,
completionTag=completionTag@entry=0x7fff66986fc0"", dest=0x2338868) at utility.c:1454
 
#13 0x000000000076951a in standard_ProcessUtility (pstmt=0x23387d0, queryString=0x2336bc8 "create table wide as select
generate_series(1,2) as id, rpad('', 320000, 'x') as t;", context=PROCESS_UTILITY_TOPLEVEL, params=0x0, queryEnv=0x0,
dest=0x2338868,completionTag=0x7fff66986fc0 "") at utility.c:932
 
#14 0x0000000000766bb8 in PortalRunUtility (portal=0x239aaf8, pstmt=0x23387d0, isTopLevel=<optimized out>,
setHoldSnapshot=<optimizedout>, dest=0x2338868, completionTag=0x7fff66986fc0 "") at pquery.c:1178
 
#15 0x0000000000767679 in PortalRunMulti (portal=portal@entry=0x239aaf8, isTopLevel=isTopLevel@entry=1 '\001',
setHoldSnapshot=setHoldSnapshot@entry=0'\000', dest=dest@entry=0x2338868, altdest=altdest@entry=0x2338868,
completionTag=completionTag@entry=0x7fff66986fc0"") at pquery.c:1331
 
#16 0x0000000000768332 in PortalRun (portal=portal@entry=0x239aaf8, count=count@entry=9223372036854775807,
isTopLevel=isTopLevel@entry=1'\001', run_once=run_once@entry=1 '\001', dest=dest@entry=0x2338868,
altdest=altdest@entry=0x2338868,completionTag=completionTag@entry=0x7fff66986fc0 "") at pquery.c:799
 
#17 0x00000000007640df in exec_simple_query (query_string=0x2336bc8 "create table wide as select generate_series(1, 2)
asid, rpad('', 320000, 'x') as t;") at postgres.c:1120
 

the reason this confuses me is that the PHJ commit hasn't changed
anything relevant here. Testing force_parallel_mode=regress locally also
shows that the failure is present before the commit.

Why mantid's earlier builds don't show the problem, even though I can
locally reproduce the issue escapes me.  Todd, did you recently change
anything on Mantid?

By my reading this is the fault of e9baa5e9fa147e [3]. Robert, Haribabu
any idea?

Greetings,

Andres Freund

[1] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=mantid&dt=2017-12-21%2011%3A07%3A06
[2] https://buildfarm.postgresql.org/cgi-bin/show_history.pl?nm=mantid&br=HEAD
[3] http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=e9baa5e9fa147e00a2466ab2c40eb99c8a700824


pgsql-hackers by date:

Previous
From: David Rowley
Date:
Subject: Re: [HACKERS] Runtime Partition Pruning
Next
From: Andres Freund
Date:
Subject: force parallel mode vs CTAS