pgsql: Improve test_lwlock_tranches - Mailing list pgsql-committers

From Heikki Linnakangas
Subject pgsql: Improve test_lwlock_tranches
Date
Msg-id E1w9Rwa-00376C-2O@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Improve test_lwlock_tranches

While working on refactoring how shmem is allocated, I made a mistake
where the main LWLock array did not reserve space for the LWLocks
allocated with RequestNamedLWLockTranche(), and the test still
passed. Matthias van de Meent spotted that before it got committed,
but in order to catch such mistakes in the future, add checks in
test_lwlock_tranches that the locks allocated with
RequestNamedLWLockTranche() can be acquired and released.

Another change is to stop requesting multiple tranches with the same
name with RequestNamedLWLockTranche(). As soon as I started to test
using the locks I realized that's bogus, and the next commit will
forbid it. Keep test coverage for duplicates requested with
LWLockNewTrancheId() for now, but make it more clear that that's what
the test does.

Reviewed-by: Sami Imseih <samimseih@gmail.com>
Discussion: https://www.postgresql.org/message-id/463a28db-0c0b-4af6-bac6-3891828bbbfe@iki.fi
Discussion: https://www.postgresql.org/message-id/CAEze2WjgCROMMXY0+j8FFdm3iFcr7By-+6Mwiz=PgGSEydiW3A@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/92a685e4070d01653daac1d60de6c155723a5c68

Modified Files
--------------
.../expected/test_lwlock_tranches.out              | 61 +++++++++++----
.../sql/test_lwlock_tranches.sql                   | 44 +++++++++--
.../test_lwlock_tranches--1.0.sql                  |  7 +-
.../test_lwlock_tranches/test_lwlock_tranches.c    | 90 +++++++++++++---------
4 files changed, 146 insertions(+), 56 deletions(-)


pgsql-committers by date:

Previous
From: Andrew Dunstan
Date:
Subject: pgsql: Add pg_get_tablespace_ddl() function
Next
From: Andres Freund
Date:
Subject: pgsql: Add tid_block() and tid_offset() accessor functions