Re: SegFault on 9.6.14
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Jerry Sievers <gsievers19@comcast.net>, Tomas Vondra <tomas.vondra@2ndquadrant.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>, Robert Haas <robertmhaas@gmail.com>
Date: 2019-07-26T04:13:24Z
Lists: pgsql-hackers
On Tue, Jul 23, 2019 at 5:28 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Tue, Jul 23, 2019 at 9:11 AM Thomas Munro <thomas.munro@gmail.com> wrote: > > > > > Another idea from the band-aid-solutions-that-are-easy-to-back-patch > > department: in ExecutePlan() where we call ExecShutdownNode(), we > > could write EXEC_FLAG_DONE into estate->es_top_eflags, and then have > > ExecGatherShutdown() only run ExecParallelCleanup() if it sees that > > flag. That's not beautiful, but it's less churn that the 'bool final' > > argument we discussed before, and could be removed in master when we > > have a better way. > > > > Right, that will be lesser code churn and it can also work. However, > one thing that needs some thought is till now es_top_eflags is only > set in ExecutorStart and same is mentioned in comments where it is > declared and it seems we are going to change that with this idea. How > about having a separate function ExecBlahShutdown which will clean up > resources as parallel context and can be called only from ExecutePlan > where we are calling ExecShutdownNode? I think both these and the > other solution we have discussed are on similar lines and another idea > could be to relax the assert which again is not a superb idea. > It seems we don't have a clear preference for any particular solution among these and neither there appears to be any better idea. I guess we can wait for a few days to see if Robert has any views on this, otherwise, pick one of the above and move ahead. Robert, let us know if you have any preference or better idea to fix this problem? -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
Commits
-
Don't shut down Gather[Merge] early under Limit.
- 1ad0df67c790 9.6.17 landed
- f7ae68aacd9d 10.12 landed
- d0ccfa9d6a3d 11.7 landed
- 1cc3a90c7551 12.2 landed
- 080313f8296f 13.0 landed
-
Prohibit shutting down resources if there is a possibility of back up.
- 2cd0acfdade8 12.0 cited
-
Fix buffer usage stats for parallel nodes.
- 19df1702f5c5 9.6.10 cited
- 85c9d3475e4f 12.0 cited
-
Fix crashes on plans with multiple Gather (Merge) nodes.
- fd7c0fa732d9 11.0 cited
-
Separate reinitialization of shared parallel-scan state from ExecReScan.
- 41b0dd987d44 11.0 cited