diff --git a/src/test/subscription/t/015_stream.pl b/src/test/subscription/t/015_stream.pl index 7bc342d211..220ab0c25f 100644 --- a/src/test/subscription/t/015_stream.pl +++ b/src/test/subscription/t/015_stream.pl @@ -8,8 +8,8 @@ use PostgreSQL::Test::Cluster; use PostgreSQL::Test::Utils; use Test::More; -# Check the log that the streamed transaction was completed successfully -# reported by parallel apply worker. +# Check that the parallel apply worker has finished applying the streaming +# transaction. sub check_parallel_log { my ($node_subscriber, $offset, $is_parallel, $type) = @_; @@ -22,9 +22,7 @@ sub check_parallel_log } } -# Encapsulate all the common test steps which are related to "streaming" -# parameter so the same code can be run both for the streaming=on and -# streaming=parallel cases. +# Common test steps for both the streaming=on and streaming=parallel cases. sub test_streaming { my ($node_publisher, $node_subscriber, $appname, $is_parallel) = @_; @@ -40,10 +38,8 @@ sub test_streaming my $h = $node_publisher->background_psql('postgres', \$in, \$out, $timer, on_error_stop => 0); - # If "streaming" parameter is specified as "parallel", we need to check - # that streamed transaction was applied using a parallel apply worker. - # We have to look for the DEBUG1 log messages about that, so bump up the - # log verbosity. + # We need to check DEBUG logs to ensure that the parallel apply worker has + # applied the transaction. So, bump up the log verbosity. if ($is_parallel) { $node_subscriber->append_conf('postgresql.conf', @@ -222,6 +218,8 @@ $node_publisher->poll_query_until('postgres', test_streaming($node_publisher, $node_subscriber, $appname, 1); +# Test that the deadlock is detected among leader and parallel apply workers. + $node_subscriber->append_conf('postgresql.conf', "log_min_messages = debug1"); $node_subscriber->append_conf('postgresql.conf', "deadlock_timeout = 1ms"); $node_subscriber->reload;