I'm running a TPC-DS like test on different PostgreSQL installations, but running (max) 12queries in parallel on a server with 12cores.
I've configured max_parallel_degree to 2, and I get messages that backend processes crash.
I am running the same test now with 6queries in parallel, and parallel degree to 2, and they seem to work. for now. :)
This is the output I get in /var/log/messages Nov 16 20:40:05 woludwha02 kernel: postgres[22918]: segfault at 7fa3437bf104 ip 0000000000490b56 sp 00007ffdf2f083a0 error 6 in postgres[400000+5b5000]
On Sat, Nov 14, 2015 at 10:12 PM, Amit Kapila <amit.kapila16@gmail.com> wrote: > On Fri, Nov 13, 2015 at 11:05 PM, Jeff Janes <jeff.janes@gmail.com> wrote: >> >> On Wed, Nov 11, 2015 at 6:53 AM, Robert Haas <robertmhaas@gmail.com> >> wrote: >> > >> > I've committed most of this, except for some planner bits that I >> > didn't like, and after a bunch of cleanup. Instead, I committed the >> > consider-parallel-v2.patch with some additional planner bits to make >> > up for the ones I removed from your patch. So, now we have parallel >> > sequential scan! >> >> Pretty cool. All I had to do is mark my slow plperl functions as >> being parallel safe, and bang, parallel execution of them for seq >> scans. >> >> But, there does seem to be a memory leak. >> > > Thanks for the report. > > I think main reason of the leak in workers seems to be due the reason > that one of the buffer used while sending tuples (in function > BuildRemapInfo) > from worker to master is not getting freed and it is allocated for each > tuple worker sends back to master. I couldn't find use of such a buffer, > so I think we can avoid the allocation of same or atleast we need to free > it. Attached patch remove_unused_buf_allocation_v1.patch should fix the > issue.
Thanks, that patch (as committed) has fixed the problem for me. I don't understand the second one.