mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-03 05:06:50 +02:00
Fix thinko when ending progress report for a backend
The logic ending progress reporting for a backend entry introduced by
b6fb647
causes callers of pgstat_progress_end_command() to do some extra
work when track_activities is enabled as the process fields are reset in
the backend entry even if no command were started for reporting.
This resets the fields only if a command is registered for progress
reporting, and only if track_activities is enabled.
Author: Masahiho Sawada
Discussion: https://postgr.es/m/CAD21AoCry_vJ0E-m5oxJXGL3pnos-xYGCzF95rK5Bbi3Uf-rpA@mail.gmail.com
Backpatch-through: 9.6
This commit is contained in:
parent
64eb426afc
commit
4c3e750ab4
@ -3272,10 +3272,10 @@ pgstat_progress_end_command(void)
|
||||
{
|
||||
volatile PgBackendStatus *beentry = MyBEEntry;
|
||||
|
||||
if (!beentry)
|
||||
if (!beentry || !pgstat_track_activities)
|
||||
return;
|
||||
if (!pgstat_track_activities
|
||||
&& beentry->st_progress_command == PROGRESS_COMMAND_INVALID)
|
||||
|
||||
if (beentry->st_progress_command == PROGRESS_COMMAND_INVALID)
|
||||
return;
|
||||
|
||||
PGSTAT_BEGIN_WRITE_ACTIVITY(beentry);
|
||||
|
Loading…
Reference in New Issue
Block a user