From: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
---|---|
To: | zoulx1982(at)163(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Re: BUG #15039: some question about hash index code |
Date: | 2018-01-31 12:06:22 |
Message-ID: | CAA4eK1+TskOwUH093E8coMMKDJT-mMXh=-K_XP5Kke1REf2bFA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
On Wed, Jan 31, 2018 at 5:04 PM, PG Bug reporting form
<noreply(at)postgresql(dot)org> wrote:
> The following bug has been logged on the website:
>
> Bug reference: 15039
> Logged by: lixian zou
> Email address: zoulx1982(at)163(dot)com
> PostgreSQL version: 10.0
> Operating system: source code
> Description:
>
> hi,
> i read hash index code , and found in _hash_addovflpage function, there is
> such code :
> if (metap->hashm_firstfree == orig_firstfree)
> {
> metap->hashm_firstfree = bit + 1;
> MarkBufferDirty(metabuf);
> }
>
> i found no any chang for metap,metap->hashm_firstfree,and initial the two
> variable is equal, so maybe the if statement is redundant?
>
The hashm_firstfree can be changed by a concurrent session as we
release and reacquire the lock on a metapage while trying to get the
bitmap page. See, below code:
_hash_addovflpage
{
..
..
for (;;)
{
..
/* Release exclusive lock on metapage while reading bitmap page */
LockBuffer(metabuf, BUFFER_LOCK_UNLOCK);
..
/* Reacquire exclusive lock on the meta page */
LockBuffer(metabuf, BUFFER_LOCK_EXCLUSIVE);
}
..
if (metap->hashm_firstfree == orig_firstfree)
{
metap->hashm_firstfree = bit + 1;
MarkBufferDirty(metabuf);
}
..
}
I think pgsql-hackers is the better place to get clarifications related to code.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | 自己 | 2018-01-31 12:27:26 | Re:Re: BUG #15039: some question about hash index code |
Previous Message | PG Bug reporting form | 2018-01-31 11:34:46 | BUG #15039: some question about hash index code |
From | Date | Subject | |
---|---|---|---|
Next Message | 自己 | 2018-01-31 12:27:26 | Re:Re: BUG #15039: some question about hash index code |
Previous Message | Daniel Verite | 2018-01-31 11:39:53 | Re: csv format for psql |