Re: BUG #18909: Query creates millions of temporary files and stalls - Mailing list pgsql-bugs
From | Sergey Koposov |
---|---|
Subject | Re: BUG #18909: Query creates millions of temporary files and stalls |
Date | |
Msg-id | 5e98fba645682c40bf5f88ef858963ade9681956.camel@ed.ac.uk Whole thread Raw |
In response to | Re: BUG #18909: Query creates millions of temporary files and stalls (Sergey Koposov <Sergey.Koposov@ed.ac.uk>) |
Responses |
Re: BUG #18909: Query creates millions of temporary files and stalls
|
List | pgsql-bugs |
If helpful here's the bt full during the problem (pg was compiled with -O0 -g3 -ggdb) #0 0x00007f229bd96c8b in __libc_open64 (file=0x7ffffb4c9b80 "base/pgsql_tmp/pgsql_tmp35816.189548", oflag=578) at ../sysdeps/unix/sysv/linux/open64.c:48 resultvar = 495 sc_ret = <optimized out> mode = 384 #1 0x00005615d86aef93 in BasicOpenFilePerm (fileName=0x7ffffb4c9b80 "base/pgsql_tmp/pgsql_tmp35816.189548", fileFlags=578, fileMode=384) at fd.c:1125 fd = 22037 __func__ = "BasicOpenFilePerm" #2 0x00005615d86af8d6 in PathNameOpenFilePerm (fileName=0x7ffffb4c9b80 "base/pgsql_tmp/pgsql_tmp35816.189548", fileFlags=578, fileMode=384) at fd.c:1603 fnamecopy = 0x56173e322160 "base/pgsql_tmp/pgsql_tmp35816.189548" file = 190724 vfdP = 0x7f1a5539a8f0 __func__ = "PathNameOpenFilePerm" #3 0x00005615d86af822 in PathNameOpenFile (fileName=0x7ffffb4c9b80 "base/pgsql_tmp/pgsql_tmp35816.189548", fileFlags=578) at fd.c:1568 No locals. #4 0x00005615d86afcea in OpenTemporaryFileInTablespace (tblspcOid=1663, rejectError=true) at fd.c:1806 tempdirpath = "base/pgsql_tmp\000\000\070\231L\373\377\177\000\000\240\037\000\000\377\377", '\000' <repeats 89 times>,"\200\377?", '\000' <repeats 13 times>, "\200\206\373p\330\025V\000\000\000\000\000\000\000\000\000\000\f\000\000\000\000\000\000\000X\240L\373\377\177\000\000@\300b\332\025V\000\000РL\373\377\177\000\ 000\305\003q\330\025V\000\000\253t\334<\000\000\000\000G"... tempfilepath = "base/pgsql_tmp/pgsql_tmp35816.189548\000V\000\000\022\000\000\000\000\000\000\000\220\235L\373\377\177\000\000\340l\322g\032\177\000\000\002", '\000'<repeats 63 times>, "t\234L\373\377\177\000\000x\234L\373\377\177\000\000_\244?$<\327\002\000\205\303\r\004<\327\002\000\000\000\000\000\000\000\000\000\332\340\061 \000\000\000\000\260\234L\373\377\177\000\000\060\227\212\330\025V\000\000\200\234L\373\377\177\000\000"... file = 22037 __func__ = "OpenTemporaryFileInTablespace" #5 0x00005615d86afb6e in OpenTemporaryFile (interXact=false) at fd.c:1743 file = 0 #6 0x00005615d86ac995 in BufFileCreateTemp (interXact=false) at buffile.c:204 file = 0x100000000000003 pfile = -1879610502 #7 0x00005615d84fb31c in ExecHashJoinSaveTuple (tuple=0x5615da85f5e8, hashvalue=2415356794, fileptr=0x7f1a4f685a80) at nodeHashjoin.c:1248 file = 0x0 #8 0x00005615d84f6a59 in ExecHashTableInsert (hashtable=0x5615da85e5c0, slot=0x5615da823378, hashvalue=2415356794) at nodeHash.c:1714 shouldFree = true tuple = 0x5615da85f5e8 bucketno = 32992122 batchno = 3521863 #9 0x00005615d84f3fb1 in MultiExecPrivateHash (node=0x5615da6c2f18) at nodeHash.c:188 bucketNumber = -1 outerNode = 0x5615da6c2638 hashkeys = 0x5615da85ba48 hashtable = 0x5615da85e5c0 slot = 0x5615da823378 econtext = 0x5615da7a9c28 hashvalue = 2415356794 #10 0x00005615d84f3e63 in MultiExecHash (node=0x5615da6c2f18) at nodeHash.c:115 No locals. #11 0x00005615d84d532b in MultiExecProcNode (node=0x5615da6c2f18) at execProcnode.c:520 result = 0x1 __func__ = "MultiExecProcNode" #12 0x00005615d84f9ca8 in ExecHashJoinImpl (pstate=0x5615da6c18e8, parallel=false) at nodeHashjoin.c:297 node = 0x5615da6c18e8 outerNode = 0x5615da6c1bd8 hashNode = 0x5615da6c2f18 joinqual = 0x0 otherqual = 0x0 econtext = 0x5615da6c1af8 hashtable = 0x5615da85e5c0 outerTupleSlot = 0x0 hashvalue = 0 batchno = 0 parallel_state = 0x0 __func__ = "ExecHashJoinImpl" #13 0x00005615d84fa350 in ExecHashJoin (pstate=0x5615da6c18e8) at nodeHashjoin.c:621 No locals. #14 0x00005615d84d5241 in ExecProcNodeFirst (node=0x5615da6c18e8) at execProcnode.c:464 No locals. #15 0x00005615d84c9dc3 in ExecProcNode (node=0x5615da6c18e8) at ../../../src/include/executor/executor.h:262 No locals. #16 0x00005615d84cc539 in ExecutePlan (queryDesc=0x5615da6d6cc8, operation=CMD_SELECT, sendTuples=true, numberTuples=100000, direction=ForwardScanDirection, dest=0x5615da56e0d8) at execMain.c:1640 estate = 0x5615da6c1688 planstate = 0x5615da6c18e8 use_parallel_mode = false slot = 0x5615da56e0d8 current_tuple_count = 0 #17 0x00005615d84ca298 in standard_ExecutorRun (queryDesc=0x5615da6d6cc8, direction=ForwardScanDirection, count=100000, execute_once=false) at execMain.c:362 estate = 0x5615da6c1688 operation = CMD_SELECT dest = 0x5615da56e0d8 sendTuples = true oldcontext = 0x5615da6c3580 #18 0x00007f229c17f6d5 in explain_ExecutorRun (queryDesc=0x5615da6d6cc8, direction=ForwardScanDirection, count=100000, execute_once=<optimized out>) at auto_explain.c:322 _save_exception_stack = 0x7ffffb4ca900 _save_context_stack = 0x0 _local_sigjmp_buf = {{ __jmpbuf = {1, -1720014361324494981, 94651820578848, 140737409496096, 0, 0, -1720014361087516805, -1613547901269909637}, __mask_was_saved = 0, __saved_mask = { __val = {0, 94651857416032, 0, 0, 0, 0, 0, 140737409492960, 94651827305323, 24, 94651857416032, 0, 94651857416456, 140737409493008, 94651827395998, 4294967296} } }} _do_rethrow = false #19 0x00005615d84ca18b in ExecutorRun (queryDesc=0x5615da6d6cc8, direction=ForwardScanDirection, count=100000, execute_once=false) at execMain.c:309 No locals. #20 0x00005615d86ed0a7 in PortalRunSelect (portal=0x5615da616338, forward=true, count=100000, dest=0x5615da56e0d8) at pquery.c:922 queryDesc = 0x5615da6d6cc8 direction = ForwardScanDirection nprocessed = 0 __func__ = "PortalRunSelect" #21 0x00005615d86ee021 in DoPortalRunFetch (portal=0x5615da616338, fdirection=FETCH_FORWARD, count=100000, dest=0x5615da56e0d8) at pquery.c:1674 forward = true __func__ = "DoPortalRunFetch" #22 0x00005615d86eda7f in PortalRunFetch (portal=0x5615da616338, fdirection=FETCH_FORWARD, count=100000, dest=0x5615da56e0d8) at pquery.c:1425 _save_exception_stack = 0x7ffffb4caca0 _save_context_stack = 0x0 _local_sigjmp_buf = {{ __jmpbuf = {1, -1720014361253191813, 94651820578848, 140737409496096, 0, 0, -1720014361318203525, -4902996909213425797}, __mask_was_saved = 0, __saved_mask = { __val = {2786264749430538240, 94651857065712, 94651858125368, 140737409493456, 64, 94651827132028, 94651858128616, 7, 0, 7, 94651858125512, 94651858128672, 94651858131912, 140737409493472, 94651827135315,0} } }} _do_rethrow = false result = 94651858117432 saveActivePortal = 0x5615da616228 saveResourceOwner = 0x5615da571c20 savePortalContext = 0x5615da56df90 oldContext = 0x5615da56df90 __func__ = "PortalRunFetch" #23 0x00005615d84553a9 in PerformPortalFetch (stmt=0x5615da515710, dest=0x5615da56e0d8, qc=0x7ffffb4cac30) at portalcmds.c:198 portal = 0x5615da616338 nprocessed = 140737409493584 __func__ = "PerformPortalFetch" #24 0x00005615d86eec72 in standard_ProcessUtility (pstmt=0x5615da515a30, queryString=0x5615da514d08 "FETCH FORWARD 100000 FROM \"sqlutilcursor\"", readOnlyTree=false, context=PROCESS_UTILITY_TOPLEVEL, params=0x0, queryEnv=0x0, dest=0x5615da56e0d8, qc=0x7ffffb4cac30) at utility.c:710 parsetree = 0x5615da515710 isTopLevel = true isAtomicContext = true pstate = 0x5615da56e168 readonly_flags = 5 __func__ = "standard_ProcessUtility" #25 0x00005615d86ee768 in ProcessUtility (pstmt=0x5615da515a30, queryString=0x5615da514d08 "FETCH FORWARD 100000 FROM \"sqlutilcursor\"", readOnlyTree=false, context=PROCESS_UTILITY_TOPLEVEL, params=0x0, queryEnv=0x0, dest=0x5615da56e0d8, qc=0x7ffffb4cac30) at utility.c:530 No locals. #26 0x00005615d86ed654 in PortalRunUtility (portal=0x5615da616228, pstmt=0x5615da515a30, isTopLevel=true, setHoldSnapshot=true, dest=0x5615da56e0d8, qc=0x7ffffb4cac30) at pquery.c:1156 No locals. #27 0x00005615d86ed3b7 in FillPortalStore (portal=0x5615da616228, isTopLevel=true) at pquery.c:1029 treceiver = 0x5615da56e0d8 qc = { commandTag = CMDTAG_UNKNOWN, nprocessed = 0 } __func__ = "FillPortalStore" #28 0x00005615d86ecd74 in PortalRun (portal=0x5615da616228, count=9223372036854775807, isTopLevel=true, run_once=true, dest=0x5615da515b10, altdest=0x5615da515b10, qc=0x7ffffb4cae00) at pquery.c:761 _save_exception_stack = 0x7ffffb4caf20 _save_context_stack = 0x0 _local_sigjmp_buf = {{ __jmpbuf = {0, -1720014361414672517, 94651820578848, 140737409496096, 0, 0, -1720014361467101317, -4902996908842098821}, __mask_was_saved = 0, __saved_mask = { __val = {20843699160, 94651857066752, 128, 94651857062896, 94651857428368, 94651857065712, 4336, 94651857428632, 94651857063120, 140737409494400, 94651827307209, 7, 112, 94651857066880, 112, 4216106384} } }} _do_rethrow = false result = false nprocessed = 94651857066768 saveTopTransactionResourceOwner = 0x5615da5774a8 saveTopTransactionContext = 0x5615da56af60 saveActivePortal = 0x0 saveResourceOwner = 0x5615da5774a8 savePortalContext = 0x0 saveMemoryContext = 0x5615da56af60 __func__ = "PortalRun" #29 0x00005615d86e6808 in exec_simple_query (query_string=0x5615da514d08 "FETCH FORWARD 100000 FROM \"sqlutilcursor\"") at postgres.c:1254 snapshot_set = false per_parsetree_context = 0x0 plantree_list = 0x5615da515ac0 parsetree = 0x5615da515740 commandTag = CMDTAG_FETCH qc = { commandTag = CMDTAG_UNKNOWN, nprocessed = 0 } querytree_list = 0x5615da5159e0 portal = 0x5615da616228 receiver = 0x5615da515b10 format = 0 parsetree_item__state = { l = 0x5615da515770, i = 0 } dest = DestRemote oldcontext = 0x5615da56af60 parsetree_list = 0x5615da515770 parsetree_item = 0x5615da515788 save_log_statement_stats = false was_logged = false use_implicit_block = false msec_str = "\bMQ\332\025V\000\000)\000\000\000\006\000\000\000p\256L\373\377\177\000\000\333\070~\000)\000\000" __func__ = "exec_simple_query" #30 0x00005615d86eb14c in PostgresMain (dbname=0x5615da5703e8 "wsdb", username=0x5615da510588 "koposov") at postgres.c:4691 query_string = 0x5615da514d08 "FETCH FORWARD 100000 FROM \"sqlutilcursor\"" firstchar = 81 input_message = { data = 0x5615da514d08 "FETCH FORWARD 100000 FROM \"sqlutilcursor\"", len = 42, maxlen = 1024, cursor = 42 } local_sigjmp_buf = {{ __jmpbuf = {0, -1720014361601319045, 94651820578848, 140737409496096, 0, 0, -1720014361379020933, -4902996912041042053}, __mask_was_saved = 1, __saved_mask = { __val = {4194304, 18446744073709551536, 0, 0, 139786617312675, 0, 0, 140737409495072, 94651820578848, 140737409496096, 94651827270967, 129792, 94651857036688, 8248, 42949672960, 94651857748440} } }} send_ready_for_query = false idle_in_transaction_timeout_enabled = false idle_session_timeout_enabled = false __func__ = "PostgresMain" #31 0x00005615d8638aa1 in BackendRun (port=0x5615da56a760) at postmaster.c:4515 No locals. #32 0x00005615d86383ed in BackendStartup (port=0x5615da56a760) at postmaster.c:4243 bn = 0x5615da567980 pid = 0 __func__ = "BackendStartup" #33 0x00005615d8634a2f in ServerLoop () at postmaster.c:1811 port = 0x5615da56a760 i = 0 rmask = { fds_bits = {64, 0 <repeats 15 times>} } selres = 1 now = 1746287454 readmask = { fds_bits = {4032, 0 <repeats 15 times>} } nSockets = 12 last_lockfile_recheck_time = 1746287454 last_touch_time = 1746287454 __func__ = "ServerLoop" #34 0x00005615d8634288 in PostmasterMain (argc=3, argv=0x5615da50e4f0) at postmaster.c:1483 opt = -1 status = 0 userDoption = 0x5615da531d40 "/mnt/bigdata/pgdata15" listen_addr_saved = true i = 64 output_config_variable = 0x0 __func__ = "PostmasterMain" #35 0x00005615d8544c28 in main (argc=3, argv=0x5615da50e4f0) at main.c:204 do_check_root = true quit Please answer y or n. Detaching from program: /opt/pgsql15/bin/postgres, process 35816 [Inferior 1 (process 35816) detached] S The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. Is e buidheanncarthannais a th’ ann an Oilthigh Dhùn Èideann, clàraichte an Alba, àireamh clàraidh SC005336.
pgsql-bugs by date: