FAQ
The following bug has been logged online:

Bug reference: 4952
Logged by: Jeff Janes
Email address: jeff.janes@gmail.com
PostgreSQL version: 8.4.0
Operating system: Linux 2.4.21-15.0.3.ELsmp
Description: commit_delay ignored because CountActiveBackends always
returns zero
Details:

I've found that commit_delay never has an effect.

By instrumenting src/backend/access/transam/xact.c, I see that this is
because CountActiveBackends always returns zero.

This seems to be a bug introduced by:
http://archives.postgresql.org/pgsql-committers/2009-03/msg00259.php

into file src/backend/storage/ipc/procarray.c

I believe the source of the bug is the addition to that file of

+ if (proc != NULL)
+ continue;

The sense of this test should be inverted, as it is NULLs, not non-nulls
that need to be skipped.

Due to this test all truly active backends get skipped, so
CountActiveBackends() always returns zero. Also, I believe without evidence
that the change fails to correct the (hard to reproduce) bug it was
originally introduced to correct, as a proc that is NULL does not get
skipped, and goes on to be dereferenced.

If I change this code to:

+ if (proc == NULL)
+ continue;

Then I find that commit_delay now does have an effect.

(The effect is to make "pgbench -c 15" slower when commit_delay is set to
the max value of 100000. This is what I thought would happen, and was
surprised when it originally did not.)

thanks,

Jeff

Search Discussions

  • Tom Lane at Jul 29, 2009 at 3:19 pm

    "Jeff Janes" <jeff.janes@gmail.com> writes:
    This seems to be a bug introduced by:
    http://archives.postgresql.org/pgsql-committers/2009-03/msg00259.php
    I believe the source of the bug is the addition to that file of
    + if (proc != NULL)
    + continue;
    The sense of this test should be inverted, as it is NULLs, not non-nulls
    that need to be skipped.
    Ooops, how embarrassing. Will fix, thanks for the report!

    regards, tom lane

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppgsql-bugs @
categoriespostgresql
postedJul 29, '09 at 3:23a
activeJul 29, '09 at 3:19p
posts2
users2
websitepostgresql.org
irc#postgresql

2 users in discussion

Jeff Janes: 1 post Tom Lane: 1 post

People

Translate

site design / logo © 2021 Grokbase