Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit7fa95bb

Browse files
committed
Backpatch addition of pump_until() more completely.
Ina2ab9c0 I just backpatched the introduction of pump_until(), withoutchanging the existing local definitions (as6da65a3). The necessarychanges seemed more verbose than desirable. However, that leads to warnings,as I failed to realize...Backpatch to all versions containing pump_until() calls beforef74496d (there's none in 10).Discussion:https://postgr.es/m/2808491.1651802860@sss.pgh.pa.usDiscussion:https://postgr.es/m/18b37361-b482-b9d8-f30d-6115cd5ce25c@enterprisedb.comBackpatch: 11-14
1 parent66ca142 commit7fa95bb

File tree

2 files changed

+18
-73
lines changed

2 files changed

+18
-73
lines changed

‎src/test/recovery/t/013_crash_restart.pl

Lines changed: 10 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
INSERT INTO alive VALUES($$committed-before-sigquit$$);
7575
SELECT pg_backend_pid();
7676
];
77-
ok(pump_until($killme, \$killme_stdout,qr/[[:digit:]]+[\r\n]$/m),
77+
ok(pump_until($killme,$psql_timeout,\$killme_stdout,qr/[[:digit:]]+[\r\n]$/m),
7878
'acquired pid for SIGQUIT');
7979
my$pid =$killme_stdout;
8080
chomp($pid);
@@ -86,7 +86,7 @@
8686
BEGIN;
8787
INSERT INTO alive VALUES($$in-progress-before-sigquit$$) RETURNING status;
8888
];
89-
ok(pump_until($killme, \$killme_stdout,qr/in-progress-before-sigquit/m),
89+
ok(pump_until($killme,$psql_timeout,\$killme_stdout,qr/in-progress-before-sigquit/m),
9090
'inserted in-progress-before-sigquit');
9191
$killme_stdout ='';
9292
$killme_stderr ='';
@@ -99,7 +99,7 @@
9999
SELECT $$psql-connected$$;
100100
SELECT pg_sleep(3600);
101101
];
102-
ok(pump_until($monitor, \$monitor_stdout,qr/psql-connected/m),
102+
ok(pump_until($monitor,$psql_timeout,\$monitor_stdout,qr/psql-connected/m),
103103
'monitor connected');
104104
$monitor_stdout ='';
105105
$monitor_stderr ='';
@@ -116,6 +116,7 @@
116116
];
117117
ok( pump_until(
118118
$killme,
119+
$psql_timeout,
119120
\$killme_stderr,
120121
qr/WARNING: terminating connection because of unexpected SIGQUIT signal|server closed the connection unexpectedly|connection to server was lost|could not send data to server/m
121122
),
@@ -129,6 +130,7 @@
129130
# sending.
130131
ok( pump_until(
131132
$monitor,
133+
$psql_timeout,
132134
\$monitor_stderr,
133135
qr/WARNING: terminating connection because of crash of another server process|server closed the connection unexpectedly|connection to server was lost|could not send data to server/m
134136
),
@@ -151,7 +153,7 @@
151153
$killme_stdin .=q[
152154
SELECT pg_backend_pid();
153155
];
154-
ok(pump_until($killme, \$killme_stdout,qr/[[:digit:]]+[\r\n]$/m),
156+
ok(pump_until($killme,$psql_timeout,\$killme_stdout,qr/[[:digit:]]+[\r\n]$/m),
155157
"acquired pid for SIGKILL");
156158
$pid =$killme_stdout;
157159
chomp($pid);
@@ -164,7 +166,7 @@
164166
BEGIN;
165167
INSERT INTO alive VALUES($$in-progress-before-sigkill$$) RETURNING status;
166168
];
167-
ok(pump_until($killme, \$killme_stdout,qr/in-progress-before-sigkill/m),
169+
ok(pump_until($killme,$psql_timeout,\$killme_stdout,qr/in-progress-before-sigkill/m),
168170
'inserted in-progress-before-sigkill');
169171
$killme_stdout ='';
170172
$killme_stderr ='';
@@ -176,7 +178,7 @@
176178
SELECT $$psql-connected$$;
177179
SELECT pg_sleep(3600);
178180
];
179-
ok(pump_until($monitor, \$monitor_stdout,qr/psql-connected/m),
181+
ok(pump_until($monitor,$psql_timeout,\$monitor_stdout,qr/psql-connected/m),
180182
'monitor connected');
181183
$monitor_stdout ='';
182184
$monitor_stderr ='';
@@ -194,6 +196,7 @@
194196
];
195197
ok( pump_until(
196198
$killme,
199+
$psql_timeout,
197200
\$killme_stderr,
198201
qr/server closed the connection unexpectedly|connection to server was lost|could not send data to server/m
199202
),
@@ -205,6 +208,7 @@
205208
# sending.
206209
ok( pump_until(
207210
$monitor,
211+
$psql_timeout,
208212
\$monitor_stderr,
209213
qr/WARNING: terminating connection because of crash of another server process|server closed the connection unexpectedly|connection to server was lost|could not send data to server/m
210214
),
@@ -242,33 +246,3 @@
242246
'can still write after orderly restart');
243247

244248
$node->stop();
245-
246-
# Pump until string is matched, or timeout occurs
247-
subpump_until
248-
{
249-
my ($proc,$stream,$untl) =@_;
250-
$proc->pump_nb();
251-
while (1)
252-
{
253-
lastif$$stream =~/$untl/;
254-
if ($psql_timeout->is_expired)
255-
{
256-
diag("aborting wait: program timed out");
257-
diag("stream contents: >>",$$stream,"<<");
258-
diag("pattern searched for:",$untl);
259-
260-
return 0;
261-
}
262-
if (not$proc->pumpable())
263-
{
264-
diag("aborting wait: program died");
265-
diag("stream contents: >>",$$stream,"<<");
266-
diag("pattern searched for:",$untl);
267-
268-
return 0;
269-
}
270-
$proc->pump();
271-
}
272-
return 1;
273-
274-
}

‎src/test/recovery/t/022_crash_temp_files.pl

Lines changed: 8 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
$killme_stdin .=q[
5959
SELECT pg_backend_pid();
6060
];
61-
ok(pump_until($killme, \$killme_stdout,qr/[[:digit:]]+[\r\n]$/m),
61+
ok(pump_until($killme,$psql_timeout,\$killme_stdout,qr/[[:digit:]]+[\r\n]$/m),
6262
'acquired pid for SIGKILL');
6363
my$pid =$killme_stdout;
6464
chomp($pid);
@@ -87,7 +87,7 @@
8787
INSERT INTO tab_crash (a) VALUES(1);
8888
SELECT $$insert-tuple-to-lock-next-insert$$;
8989
];
90-
pump_until($killme2, \$killme_stdout2,qr/insert-tuple-to-lock-next-insert/m);
90+
pump_until($killme2,$psql_timeout,\$killme_stdout2,qr/insert-tuple-to-lock-next-insert/m);
9191
$killme_stdout2 ='';
9292
$killme_stderr2 ='';
9393

@@ -100,7 +100,7 @@
100100
SELECT $$in-progress-before-sigkill$$;
101101
INSERT INTO tab_crash (a) SELECT i FROM generate_series(1, 5000) s(i);
102102
];
103-
ok(pump_until($killme, \$killme_stdout,qr/in-progress-before-sigkill/m),
103+
ok(pump_until($killme,$psql_timeout,\$killme_stdout,qr/in-progress-before-sigkill/m),
104104
'insert in-progress-before-sigkill');
105105
$killme_stdout ='';
106106
$killme_stderr ='';
@@ -122,7 +122,7 @@ BEGIN
122122
SELECT $$insert-tuple-lock-waiting$$;
123123
];
124124

125-
pump_until($killme2, \$killme_stdout2,qr/insert-tuple-lock-waiting/m);
125+
pump_until($killme2,$psql_timeout,\$killme_stdout2,qr/insert-tuple-lock-waiting/m);
126126
$killme_stdout2 ='';
127127
$killme_stderr2 ='';
128128

@@ -171,7 +171,7 @@ BEGIN
171171
$killme_stdin .=q[
172172
SELECT pg_backend_pid();
173173
];
174-
ok(pump_until($killme, \$killme_stdout,qr/[[:digit:]]+[\r\n]$/m),
174+
ok(pump_until($killme,$psql_timeout,\$killme_stdout,qr/[[:digit:]]+[\r\n]$/m),
175175
'acquired pid for SIGKILL');
176176
$pid =$killme_stdout;
177177
chomp($pid);
@@ -188,7 +188,7 @@ BEGIN
188188
INSERT INTO tab_crash (a) VALUES(1);
189189
SELECT $$insert-tuple-to-lock-next-insert$$;
190190
];
191-
pump_until($killme2, \$killme_stdout2,qr/insert-tuple-to-lock-next-insert/m);
191+
pump_until($killme2,$psql_timeout,\$killme_stdout2,qr/insert-tuple-to-lock-next-insert/m);
192192
$killme_stdout2 ='';
193193
$killme_stderr2 ='';
194194

@@ -201,7 +201,7 @@ BEGIN
201201
SELECT $$in-progress-before-sigkill$$;
202202
INSERT INTO tab_crash (a) SELECT i FROM generate_series(1, 5000) s(i);
203203
];
204-
ok(pump_until($killme, \$killme_stdout,qr/in-progress-before-sigkill/m),
204+
ok(pump_until($killme,$psql_timeout,\$killme_stdout,qr/in-progress-before-sigkill/m),
205205
'insert in-progress-before-sigkill');
206206
$killme_stdout ='';
207207
$killme_stderr ='';
@@ -223,7 +223,7 @@ BEGIN
223223
SELECT $$insert-tuple-lock-waiting$$;
224224
];
225225

226-
pump_until($killme2, \$killme_stdout2,qr/insert-tuple-lock-waiting/m);
226+
pump_until($killme2,$psql_timeout,\$killme_stdout2,qr/insert-tuple-lock-waiting/m);
227227
$killme_stdout2 ='';
228228
$killme_stderr2 ='';
229229

@@ -266,32 +266,3 @@ BEGIN
266266
'temporary file was removed');
267267

268268
$node->stop();
269-
270-
# Pump until string is matched, or timeout occurs
271-
subpump_until
272-
{
273-
my ($proc,$stream,$untl) =@_;
274-
$proc->pump_nb();
275-
while (1)
276-
{
277-
lastif$$stream =~/$untl/;
278-
if ($psql_timeout->is_expired)
279-
{
280-
diag("aborting wait: program timed out");
281-
diag("stream contents: >>",$$stream,"<<");
282-
diag("pattern searched for:",$untl);
283-
284-
return 0;
285-
}
286-
if (not$proc->pumpable())
287-
{
288-
diag("aborting wait: program died");
289-
diag("stream contents: >>",$$stream,"<<");
290-
diag("pattern searched for:",$untl);
291-
292-
return 0;
293-
}
294-
$proc->pump();
295-
}
296-
return 1;
297-
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp