Re: Improve error reporting in 027_stream_regress test
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Brandon Tat <brandontat6@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Nazir Bilal Yavuz <byavuz81@gmail.com>, Alexander Lakhin <exclusion@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Andres Freund <andres@anarazel.de>
Date: 2025-12-04T07:42:16Z
Lists: pgsql-hackers
On Wed, Dec 03, 2025 at 11:01:31PM -0800, Brandon Tat wrote: > Regarding the function regression_log_helper(), this function reads > all the lines in the logs at line 219 of > src/test/recovery/t/027_stream_regress.pl. It seems wasteful to read > the file again twice in read_file_ends(). Alternatively, we could > read the file once within regression_log_helper() and index lines to > emit the lines that we want. It seems to me that you are looking at v4-0001 and v4-0002 posted at [1], which I did not author. So your suggestion would be to call read_file_ends() once with the file opened once, with three modes instead of the two presented in the patch: fetch the head, the tail, or both at the same time. Yes, that would be more efficient. While looking at the patch with fresher eyes (didn't look at this thread for a couple of months, sorry), it looks like there is no point in having regression_log_helper() at all. We could just return the tail and the head in a single call of read_file_ends() with two output variables. Then we could embed in read_file_ends() the knowledge that if we are dealing with a file that has less lines than twice PG_TEST_FILE_READ_LINES, we can just print the whole file, returning only the full contents as in a variable for what would have been the head content, leaving the tail content empty. If somebody would like to send a patch among these lines, feel free.. [1]: https://www.postgresql.org/message-id/CAN55FZ09GfUAg5X5CFDgSA0K-u3W8e2HoWHW7CdMFdo_7Fa-Ug@mail.gmail.com -- Michael
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Improve error reporting of recovery test 027_stream_regress
- 47da198934e9 19 (unreleased) landed
-
Add PostgreSQL::Test::Cluster::read_head_tail() helper to PostgreSQL/Utils.pm
- b93f4e2f98b3 19 (unreleased) landed
-
Handle timeout in PostgreSQL::Test::Cluster::is_alive()
- cb833c1b6d19 19 (unreleased) landed
-
Check status of nodes after regression test run in 027_stream_regress
- 1e9b5140c44b 19 (unreleased) landed
-
Add PostgreSQL::Test::Cluster::is_alive()
- d4c9195eff41 19 (unreleased) landed