From: | Vadim Mikheev <vadim(at)krs(dot)ru> |
---|---|
To: | t-ishii(at)sra(dot)co(dot)jp |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org> |
Subject: | Re: [HACKERS] Open 6.5 items |
Date: | 1999-05-31 09:33:52 |
Message-ID: | 37525780.99FAC65B@krs.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tatsuo Ishii wrote:
>
> I have just done cvs update and saw your changes. I tried the same
> testing as I did before (64 conccurrent connections, and each
> connection excutes 100 transactions), but it failed again.
>
> (1) without -B 1024, it failed: out of free buffers: time to abort!
>
> (2) with -B 1024, it went into stuck spin lock
>
> So I looked into sources a little bit, and made a minor change to
> include/storage/lock.h:
>
> #define INIT_TABLE_SIZE 100
>
> to:
>
> #define INIT_TABLE_SIZE 4096
>
> then restarted postmaster with -B 1024 (this will prevent
> out-of-free-buffers problem, I guess). Now everything seems to work
> great!
>
> I suspect that huge INIT_TABLE_SIZE prevented dynamic expanding the
> hash tables and seems there's something wrong in the routines
> responsible for that.
Seems like that -:(
If we'll not fix expand hash code before 6.5 release then
I would recommend to don't use INIT_TABLE_SIZE in
lockMethodTable->lockHash = (HTAB *) ShmemInitHash(shmemName,
INIT_TABLE_SIZE, MAX_TABLE_SIZE,
&info, hash_flags);
and
lockMethodTable->xidHash = (HTAB *) ShmemInitHash(shmemName,
INIT_TABLE_SIZE, MAX_TABLE_SIZE,
&info, hash_flags);
but use NLOCKENTS(maxBackends) instead.
Vadim
From | Date | Subject | |
---|---|---|---|
Next Message | The Hermit Hacker | 1999-05-31 12:19:13 | Re: [HACKERS] History of PostgreSQL |
Previous Message | Tatsuo Ishii | 1999-05-31 08:24:46 | Re: [HACKERS] Open 6.5 items |