Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov> wrote:
>> Why is it OK to drop these lines from the else condition in
>> ProcArrayEndTransaction()?:
>>
>> /* must be cleared with xid/xmin: */
>> proc->vacuumFlags &= ~PROC_VACUUM_STATE_MASK;
>
> It's probably not. Oops.
OK. I see that's back now.
> I believe the attached patch versions address your comments
> regarding the flexlock patch as well; it is also rebased over the
> PGXACT patch, which has since been committed.
Applies cleanly again.
>> The extraWaits code still looks like black magic to me, so unless
>> someone can point me in the right direction to really understand
>> that, I can't address whether it's OK.
>
> I don't think I've changed the behavior, so it should be fine.
> The idea is that something like this can happen:
>
> [explanation of the extraWaits behavior]
Thanks. I'll spend some time reviewing this part. There is some
rearrangement of related code, and this should arm me with enough of
a grasp to review that.
>> [gripes about modularity compromise and lack of pluggability]
> let me think about that. I haven't addressed that in this
> version.
OK. There are a few things I found in this pass which missed in the
last. One contrib module was missed, I found another typo in a
comment, and I think we can reduce the include files a bit. Rather
than describe it, I'm attaching a patch file over the top of your
patches with what I think might be a good idea. I don't think
there's anything here to merit a new round of benchmarking.
-Kevin