YAMAMOTO Takashi  wrote:
 
> this psql session was the only activity to the server at this
> point.
 
> [no residual SIReadLock]
 
>> Right, that's because we were using HASH_ENTER instead of
>> HASH_ENTER_NULL. I've posted a patch which should correct that.
 
> sure, with your patch it seems that they turned into different
> ones.
 
> PG_DIAG_SEVERITY: ERROR
> PG_DIAG_SQLSTATE: 53200
> PG_DIAG_MESSAGE_PRIMARY: out of shared memory
> PG_DIAG_MESSAGE_HINT: You might need to increase
> max_pred_locks_per_transaction.
> PG_DIAG_SOURCE_FILE: predicate.c
> PG_DIAG_SOURCE_LINE: 2049
> PG_DIAG_SOURCE_FUNCTION: CreatePredicateLock
 
>>> Even with the above information it may be far from clear where
>>> allocations are going past their maximum, since one HTAB could
>>> grab more than its share and starve another which is staying
>>> below its "maximum". I'll take a look at the possibility of
>>> adding a warning or some such when an HTAB expands past its
>>> maximum size.
>>
>> I see from your later post that you are running with this patch.
>> Has that reported anything yet?
>
> i got nothing except the following one. (in the server log)
>
> WARNING: hash table "ShmemIndex" has more entries than expected
> DETAIL: The maximum was set to 32 on creation.
 
That doesn't seem likely to be causing the problem, but maybe the
allocations for that should be bumped a bit.
 
These results suggest that there is some sort of a leak in the
cleanup of the PredicateLockTargetHash HTAB entries.  Will look into
it.
 
Thanks again.
 
-Kevin

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to