Обсуждение: Small issues in syncrep.c

Поиск
Список
Период
Сортировка

Small issues in syncrep.c

От
Julien Rouhaud
Дата:
Hello,

Since 14e8803f1, it's not necessary to acquire the SyncRepLock to see up
to date data. But it looks like this commit didn't update all the
comment around MyProc->syncRepState, which still mention retrieving the
value without and without lock.  Also, there's I think a now unneeded
test to try to retrieve again syncRepState.

Patch attached to fix both small issues, present since 9.5.

--
Julien Rouhaud
http://dalibo.com - http://dalibo.org

Вложения

Re: Small issues in syncrep.c

От
Michael Paquier
Дата:
On Tue, Aug 9, 2016 at 5:34 PM, Julien Rouhaud
<julien.rouhaud@dalibo.com> wrote:
> Since 14e8803f1, it's not necessary to acquire the SyncRepLock to see up
> to date data. But it looks like this commit didn't update all the
> comment around MyProc->syncRepState, which still mention retrieving the
> value without and without lock.  Also, there's I think a now unneeded
> test to try to retrieve again syncRepState.
>
> Patch attached to fix both small issues, present since 9.5.

You could directly check MyProc->syncRepState and remove syncRepState.
Could you add it to the next commit fest? I don't think this will get
into 9.6 as this is an optimization.
-- 
Michael



Re: Small issues in syncrep.c

От
Simon Riggs
Дата:
On 10 August 2016 at 06:24, Michael Paquier <michael.paquier@gmail.com> wrote:

> On Tue, Aug 9, 2016 at 5:34 PM, Julien Rouhaud
> <julien.rouhaud@dalibo.com> wrote:
>> Since 14e8803f1, it's not necessary to acquire the SyncRepLock to see up
>> to date data. But it looks like this commit didn't update all the
>> comment around MyProc->syncRepState, which still mention retrieving the
>> value without and without lock.  Also, there's I think a now unneeded
>> test to try to retrieve again syncRepState.
>>
>> Patch attached to fix both small issues, present since 9.5.
>
> You could directly check MyProc->syncRepState and remove syncRepState.
> Could you add it to the next commit fest? I don't think this will get
> into 9.6 as this is an optimization.

Good catch.

I've updated Julien's patch to reflect Michael's suggestion.

Looks good to apply immediately.

14e8803f1 was only a partial patch for the syncrep code, so I don't
see any reason to keep the code as it currently is in 9.5/9.6.

Any objections to backpatching this to 9.5 and 9.6?

--
Simon Riggs                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Вложения

Re: Small issues in syncrep.c

От
Michael Paquier
Дата:
On Wed, Aug 10, 2016 at 4:29 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
> 14e8803f1 was only a partial patch for the syncrep code, so I don't
> see any reason to keep the code as it currently is in 9.5/9.6.
>
> Any objections to backpatching this to 9.5 and 9.6?

None from here.
-- 
Michael



Re: Small issues in syncrep.c

От
Julien Rouhaud
Дата:
On 10/08/2016 09:43, Michael Paquier wrote:
> On Wed, Aug 10, 2016 at 4:29 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
>>
>> I've updated Julien's patch to reflect Michael's suggestion.

Thanks to you and Michael.

>> 14e8803f1 was only a partial patch for the syncrep code, so I don't
>> see any reason to keep the code as it currently is in 9.5/9.6.
>>
>> Any objections to backpatching this to 9.5 and 9.6?
> 
> None from here.
> 

same here.

-- 
Julien Rouhaud
http://dalibo.com - http://dalibo.org



Re: Small issues in syncrep.c

От
Alvaro Herrera
Дата:
Simon Riggs wrote:

> Good catch.
> 
> I've updated Julien's patch to reflect Michael's suggestion.
> 
> Looks good to apply immediately.
> 
> 14e8803f1 was only a partial patch for the syncrep code, so I don't
> see any reason to keep the code as it currently is in 9.5/9.6.
> 
> Any objections to backpatching this to 9.5 and 9.6?

No objection to backpatching; the current state looks like a very
strange coding pattern only.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services