Re: logical decoding : exceeded maxAllocatedDescs for .spill files
Noah Misch <noah@leadboat.com>
From: Noah Misch <noah@leadboat.com>
To: Amit Khandekar <amitdkhan.pg@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, Alvaro Herrera from 2ndQuadrant <alvherre@alvh.no-ip.org>, Andres Freund <andres@anarazel.de>, Juan José Santamaría Flecha <juanjo.santamaria@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Robert Haas <robertmhaas@gmail.com>, Thomas Munro <thomas.munro@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Tomas Vondra <tomas.vondra@2ndquadrant.com>
Date: 2020-01-09T05:37:04Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
When a TAP file has non-zero exit status, retain temporary directories.
- 048c7ccd7d6d 9.6.17 landed
- d8efc5900f7c 10.12 landed
- 887657d183fc 11.7 landed
- 78a26c3edd85 12.2 landed
- bf989aaf3561 13.0 landed
-
Fix running out of file descriptors for spill files.
- 1ad47e8757bb 9.4.26 landed
- a6f4f407ada0 9.5.21 landed
- 27b5f48c79f7 10.12 landed
- 3e3a79735235 11.7 landed
- f8a6d8e71b17 12.2 landed
- d20703805383 13.0 landed
- ba5b4e506489 9.6.17 landed
-
Track statistics for spilling of changes from ReorderBuffer.
- 9290ad198b15 13.0 cited
-
Handle ReadFile() EOF correctly on Windows.
- 2189f49c420f 12.2 landed
- 6969deeb8d39 13.0 landed
-
Add logical_decoding_work_mem to limit ReorderBuffer memory usage.
- cec2edfa7859 13.0 cited
-
Generational memory allocator
- a4ccc1cef5a0 11.0 cited
-
Support retaining data dirs on successful TAP tests
- 90627cf98a8e 11.0 cited
On Wed, Jan 08, 2020 at 02:50:53PM +0530, Amit Khandekar wrote: > On Sun, 5 Jan 2020 at 00:21, Noah Misch <noah@leadboat.com> wrote: > > The buildfarm client can capture stack traces, but it currently doesn't do so > > for TAP test suites (search the client code for get_stack_trace). If someone > > feels like writing a fix for that, it would be a nice improvement. Perhaps, > > rather than having the client code know all the locations where core files > > might appear, failed runs should walk the test directory tree for core files? > > I think this might end up having the same code to walk the directory > spread out on multiple files. Instead, I think in the build script, in > get_stack_trace(), we can do an equivalent of "find <inputdir> -name > "*core*" , as against the current way in which it looks for core files > only in the specific data directory. Agreed. > Noah, is it possible to run a patch'ed build script once I submit a > patch, so that we can quickly get the stack trace ? I mean, can we do > this before getting the patch committed ? I guess, we can run the > build script with a single branch specified, right ? Yes to all questions, but it would not have helped in this case. First, v10 deletes PostgresNode base directories at the end of this test file, despite the failure[1]. Second, the stack trace was minimal: (gdb) bt #0 0xd011119c in extend_brk () from /usr/lib/libc.a(shr.o) Even so, a web search for "extend_brk" led to the answer. By default, 32-bit AIX binaries get only 256M of RAM for stack and sbrk. The new regression test used more than that, hence this crash. Setting LDR_CNTRL=MAXDATA=0x80000000 in the environment cured the crash. I've put that in the buildfarm member configuration and started a new run. (PostgreSQL documentation actually covers this problem: https://www.postgresql.org/docs/devel/installation-platform-notes.html#INSTALLATION-NOTES-AIX) [1] It has the all_tests_passing() logic in an attempt to stop this. I'm guessing it didn't help because the file failed by calling die "connection error: ...", not by reporting a failure to Test::More via ok(0) or similar.