v6-0003-Suppress-error-messages-unless-client-abort.patch

text/plain

Filename: v6-0003-Suppress-error-messages-unless-client-abort.patch
Type: text/plain
Part: 2
Message: Re: Suggestion to add --continue-client-on-abort option to pgbench

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: format-patch
Series: patch v6-0003
Subject: Suppress error messages unless client abort
File+
src/bin/pgbench/pgbench.c 7 3
src/bin/pgbench/t/001_pgbench_with_server.pl 7 7
From 6d916730e26384e7f3a559515bd16d0d9831064b Mon Sep 17 00:00:00 2001
From: Rintaro Ikeda <ikedarintarof@oss.nttdata.com>
Date: Wed, 9 Jul 2025 23:46:19 +0900
Subject: [PATCH v6 3/3] Suppress error messages unless client abort

Suppress error messages for individual failed SQL commands and report them only
hen the client aborts
---
 src/bin/pgbench/pgbench.c                    | 10 +++++++---
 src/bin/pgbench/t/001_pgbench_with_server.pl | 14 +++++++-------
 2 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c
index 95a7083ede0..26995b93313 100644
--- a/src/bin/pgbench/pgbench.c
+++ b/src/bin/pgbench/pgbench.c
@@ -3385,9 +3385,10 @@ readCommandResponse(CState *st, MetaCommand meta, char *varprefix)
 
 			default:
 				/* anything else is unexpected */
-				pg_log_error("client %d script %d aborted in command %d query %d: %s",
-							 st->id, st->use_file, st->command, qrynum,
-							 PQerrorMessage(st->con));
+				if (verbose_errors)
+					pg_log_error("client %d script %d aborted in command %d query %d: %s",
+								 st->id, st->use_file, st->command, qrynum,
+								 PQerrorMessage(st->con));
 				goto error;
 		}
 
@@ -4030,7 +4031,10 @@ advanceConnectionState(TState *thread, CState *st, StatsData *agg)
 						 canRetryError(st->estatus))
 					st->state = CSTATE_ERROR;
 				else
+				{
+					pg_log_error("client %d aborted while executing SQL commands", st->id);
 					st->state = CSTATE_ABORTED;
+				}
 				break;
 
 				/*
diff --git a/src/bin/pgbench/t/001_pgbench_with_server.pl b/src/bin/pgbench/t/001_pgbench_with_server.pl
index 8bb35dda5f7..a38a1cf4ab7 100644
--- a/src/bin/pgbench/t/001_pgbench_with_server.pl
+++ b/src/bin/pgbench/t/001_pgbench_with_server.pl
@@ -301,7 +301,7 @@ $node->append_conf('postgresql.conf',
 	  . "log_parameter_max_length_on_error = 0");
 $node->reload;
 $node->pgbench(
-	'-n -t1 -c1 -M prepared',
+	'-n -t1 -c1 -M prepared --verbose',
 	2,
 	[],
 	[
@@ -328,7 +328,7 @@ $node->append_conf('postgresql.conf',
 	  . "log_parameter_max_length_on_error = 64");
 $node->reload;
 $node->pgbench(
-	'-n -t1 -c1 -M prepared',
+	'-n -t1 -c1 -M prepared --verbose',
 	2,
 	[],
 	[
@@ -342,7 +342,7 @@ SELECT 1 / (random() / 2)::int, :one::int, :two::int;
 }
 	});
 $node->pgbench(
-	'-n -t1 -c1 -M prepared',
+	'-n -t1 -c1 -M prepared --verbose',
 	2,
 	[],
 	[
@@ -370,7 +370,7 @@ $node->append_conf('postgresql.conf',
 	  . "log_parameter_max_length_on_error = -1");
 $node->reload;
 $node->pgbench(
-	'-n -t1 -c1 -M prepared',
+	'-n -t1 -c1 -M prepared --verbose',
 	2,
 	[],
 	[
@@ -387,7 +387,7 @@ SELECT 1 / (random() / 2)::int, :one::int, :two::int;
 $node->append_conf('postgresql.conf', "log_min_duration_statement = 0");
 $node->reload;
 $node->pgbench(
-	'-n -t1 -c1 -M prepared',
+	'-n -t1 -c1 -M prepared --verbose',
 	2,
 	[],
 	[
@@ -410,7 +410,7 @@ $log = undef;
 
 # Check that bad parameters are reported during typinput phase of BIND
 $node->pgbench(
-	'-n -t1 -c1 -M prepared',
+	'-n -t1 -c1 -M prepared --verbose',
 	2,
 	[],
 	[
@@ -1464,7 +1464,7 @@ for my $e (@errors)
 	my $n = '001_pgbench_error_' . $name;
 	$n =~ s/ /_/g;
 	$node->pgbench(
-		'-n -t 1 -Dfoo=bla -Dnull=null -Dtrue=true -Done=1 -Dzero=0.0 -Dbadtrue=trueXXX'
+		'-n -t 1 -Dfoo=bla -Dnull=null -Dtrue=true -Done=1 -Dzero=0.0 -Dbadtrue=trueXXX --verbose'
 		  . ' -Dmaxint=9223372036854775807 -Dminint=-9223372036854775808'
 		  . ($no_prepare ? '' : ' -M prepared'),
 		$status,
-- 
2.39.5 (Apple Git-154)