On Sat, Mar 26, 2016 at 01:39:42PM +0100, Andres Freund wrote: > On 2016-03-25 12:02:05 -0400, Robert Haas wrote: > > Gosh, that's surprising. I wonder if that just revealed an underlying > > issue rather than creating it. > > I think that's the case; it's just somewhat unlikely to hit in other > cases. > > If SMgrRelation->md_fd[n] is an empty relation, and mdread() or another > routine is asking for a block in the second segment - which will error > out. But even if the first segment is zero bytes, _mdfd_getseg() will > dutifully try to open the second segment. Which will succeed in the case > of a truncated relation, because we leave the truncated segment in > place. > > ISTM that _mdfd_getseg better check the length of the last segment > before opening the next one?
[This is a generic notification.] The above-described topic is currently a PostgreSQL 9.6 open item. Andres, since you committed the patch believed to have created it, you own this open item. If that responsibility lies elsewhere, please let us know whose responsibility it is to fix this. Since new open items may be discovered at any time and I want to plan to have them all fixed well in advance of the ship date, I will appreciate your efforts toward speedy resolution. Please present, within 72 hours, a plan to fix the defect within seven days of this message. Thanks. Non-generic addendum: granted, s/created/unearthed/ is looking more precise. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers