hi, > hi, > >> I think I see what is going on now. We are sometimes failing to set the >> commitSeqNo correctly on the lock. In particular, if a lock assigned to >> OldCommittedSxact is marked with InvalidSerCommitNo, it will never be >> cleared. >> >> The attached patch corrects this: >> TransferPredicateLocksToNewTarget should initialize a new lock >> entry's commitSeqNo to that of the old one being transferred, or take >> the minimum commitSeqNo if it is merging two lock entries. >> >> Also, CreatePredicateLock should initialize commitSeqNo for to >> InvalidSerCommitSeqNo instead of to 0. (I don't think using 0 would >> actually affect anything, but we should be consistent.) >> >> I also added a couple of assertions I used to track this down: a >> lock's commitSeqNo should never be zero, and it should be >> InvalidSerCommitSeqNo if and only if the lock is not held by >> OldCommittedSxact. >> >> Takashi, does this patch fix your problem with leaked SIReadLocks? > > i'm currently running bf6848bc8c82e82f857d48185554bc3e6dcf1013 with this > patch applied. i haven't seen the symptom yet. i'll keep it running for > a while.
i haven't seen the symptom since them. so i guess it was fixed by your patch. thanks! YAMAMOTO Takashi > > btw, i've noticed the following message in the server log. is it normal? > > LOG: could not truncate directory "pg_serial": apparent wraparound > > YAMAMOTO Takashi > >> >> Dan >> >> >> -- >> Dan R. K. Ports MIT CSAIL http://drkp.net/ > > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers