Re: BitmapHeapScan streaming read user and prelim refactoring

From: Alexander Lakhin <exclusion(at)gmail(dot)com>
To: Melanie Plageman <melanieplageman(at)gmail(dot)com>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Cc: Tomas Vondra <tomas(at)vondra(dot)me>, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Andres Freund <andres(at)anarazel(dot)de>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: BitmapHeapScan streaming read user and prelim refactoring
Date: 2025-03-22 20:00:00
Message-ID: 496f7acd-881c-4df3-9bd3-8f8534dfec26@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello Melanie,

15.03.2025 16:43, Melanie Plageman wrote:
> On Thu, Mar 13, 2025 at 5:41 PM Melanie Plageman
> <melanieplageman(at)gmail(dot)com> wrote:
>> Overall, I feel pretty good about merging this once Thomas merges the
>> read stream patches.
> This was committed in 944e81bf99db2b5b70b, 2b73a8cd33b745c, and
> c3953226a07527a1e2.
> I've marked it as committed in the CF app.

It looks like that change made the bitmapops test unstable (on slow animals?): [1], [2], [3].
I've reproduced such test failures when running
TESTS=$(printf 'bitmapops %.0s' `seq 50`) make -s check-tests
under Valgrind:
...
ok 17        - bitmapops                               52719 ms
not ok 18    - bitmapops                               57566 ms
ok 19        - bitmapops                               60179 ms
ok 20        - bitmapops                               32927 ms
ok 21        - bitmapops                               45127 ms
ok 22        - bitmapops                               42924 ms
ok 23        - bitmapops                               61035 ms
ok 24        - bitmapops                               56316 ms
ok 25        - bitmapops                               52874 ms
not ok 26    - bitmapops                               67468 ms
ok 27        - bitmapops                               55605 ms
ok 28        - bitmapops                               24021 ms
...

diff -U3 /home/vagrant/postgresql/src/test/regress/expected/bitmapops.out
/home/vagrant/postgresql/src/test/regress/results/bitmapops.out
--- /home/vagrant/postgresql/src/test/regress/expected/bitmapops.out 2025-03-16 01:37:52.716885600 -0700
+++ /home/vagrant/postgresql/src/test/regress/results/bitmapops.out 2025-03-22 03:47:54.014702406 -0700
@@ -24,14 +24,14 @@
 SELECT count(*) FROM bmscantest WHERE a = 1 AND b = 1;
  count
 -------
-    23
+    18
 (1 row)

 -- Test bitmap-or.
 SELECT count(*) FROM bmscantest WHERE a = 1 OR b = 1;
  count
 -------
-  2485
+  1044
 (1 row)

 -- clean up
diff -U3 /home/vagrant/postgresql/src/test/regress/expected/bitmapops.out
/home/vagrant/postgresql/src/test/regress/results/bitmapops.out
--- /home/vagrant/postgresql/src/test/regress/expected/bitmapops.out 2025-03-16 01:37:52.716885600 -0700
+++ /home/vagrant/postgresql/src/test/regress/results/bitmapops.out 2025-03-22 03:54:53.129549597 -0700
@@ -31,7 +31,7 @@
 SELECT count(*) FROM bmscantest WHERE a = 1 OR b = 1;
  count
 -------
-  2485
+  1044
 (1 row)

git bisect for this deviation has pointed at 2b73a8cd3.

[1] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=skink&dt=2025-03-16%2010%3A34%3A17
[2] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=flaviventris&dt=2025-03-17%2020%3A07%3A43
[3] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=skink&dt=2025-03-17%2001%3A16%3A02

Best regards,
Alexander Lakhin
Neon (https://neon.tech)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2025-03-22 20:00:25 Re: Parallel heap vacuum
Previous Message Tom Lane 2025-03-22 18:02:56 Re: Bug - DoS - Handler function lookups consider non-handler functions