Re: Online enabling of checksums
От | Tomas Vondra |
---|---|
Тема | Re: Online enabling of checksums |
Дата | |
Msg-id | 79b37247-fd2f-fd90-daf4-02e0fe8d7ad0@2ndquadrant.com обсуждение исходный текст |
Ответ на | Re: Online enabling of checksums (Andres Freund <andres@anarazel.de>) |
Список | pgsql-hackers |
On 04/06/2018 08:13 PM, Andres Freund wrote: > On 2018-04-06 19:59:17 +0200, Tomas Vondra wrote: >> On 04/06/2018 07:46 PM, Andres Freund wrote: >>>> Sure. But what would that be? I can't think of anything. A process that >>>> modifies a buffer (or any other piece of shared state) without holding >>>> some sort of lock seems broken by default. >>> >>> You can quite possibly already *hold* a lock if it's not an exclusive >>> one. >>> >> >> Sure, but if you're holding the buffer lock when the checksum version is >> changed, then the checksumhelper is obviously not running yet. In which >> case it will update the checksum on the buffer later. > > The buffer content lock itself doesn't generally give any such > guarantee afaict, as it's required that the content lock is held in > shared mode during IO. ProcessSingleRelationFork() happens to use > exclusive mode (which could and possibly should be optimized), so > that's probably sufficient from that end though. > Yes. > I'm mainly disconcerted this isn't well discussed & documented. > Agreed, no argument here. -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: