Commit ed7bb5c3 authored by Amit Kapila's avatar Amit Kapila

Revert test added by commit d2070380.

This test was trying to test the mechanism to release kernel FDs as needed
to get us under the max_safe_fds limit in case of spill files.  To do that,
it needs to set max_files_per_process to a very low value which doesn't
even permit starting of the server in the case when there are a few already
opened files.  This test also won't work on platforms where we use one FD
per semaphore.

Backpatch-through: 10, till where this test was added
Discussion:
https://postgr.es/m/CAA4eK1LHhERi06Q+MmP9qBXBBboi+7WV3910J0aUgz71LcnKAw@mail.gmail.com
https://postgr.es/m/6485.1578583522@sss.pgh.pa.us
parent 7f380c59
...@@ -7,7 +7,7 @@ use strict; ...@@ -7,7 +7,7 @@ use strict;
use warnings; use warnings;
use PostgresNode; use PostgresNode;
use TestLib; use TestLib;
use Test::More tests => 11; use Test::More tests => 10;
use Config; use Config;
# Initialize master node # Initialize master node
...@@ -135,43 +135,5 @@ is($node_master->psql('postgres', 'DROP DATABASE otherdb'), ...@@ -135,43 +135,5 @@ is($node_master->psql('postgres', 'DROP DATABASE otherdb'),
is($node_master->slot('otherdb_slot')->{'slot_name'}, is($node_master->slot('otherdb_slot')->{'slot_name'},
undef, 'logical slot was actually dropped with DB'); undef, 'logical slot was actually dropped with DB');
# Test to ensure that we don't run out of file descriptors even if there
# are more spill files than maxAllocatedDescs.
# Set max_files_per_process to a small value to make it more likely to run out
# of max open file descriptors.
$node_master->safe_psql('postgres',
'ALTER SYSTEM SET max_files_per_process = 26;');
$node_master->restart;
$node_master->safe_psql(
'postgres', q{
do $$
BEGIN
FOR i IN 1..10 LOOP
BEGIN
INSERT INTO decoding_test(x) SELECT generate_series(1,5000);
EXCEPTION
when division_by_zero then perform 'dummy';
END;
END LOOP;
END $$;
});
$result = $node_master->safe_psql('postgres',
qq[
set logical_decoding_work_mem to 64; -- generate plenty of .spill files
SELECT data from pg_logical_slot_get_changes('test_slot', NULL, NULL)
WHERE data LIKE '%INSERT%' ORDER BY lsn LIMIT 1;
]);
$expected = q{table public.decoding_test: INSERT: x[integer]:1 y[text]:null};
is($result, $expected, 'got expected output from spilling subxacts session');
# Reset back max_files_per_process
$node_master->safe_psql('postgres',
'ALTER SYSTEM SET max_files_per_process = DEFAULT;');
$node_master->restart;
# done with the node # done with the node
$node_master->stop; $node_master->stop;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment