From: | "Imseih (AWS), Sami" <simseih(at)amazon(dot)com> |
---|---|
To: | Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> |
Cc: | Nathan Bossart <nathandbossart(at)gmail(dot)com>, Peter Geoghegan <pg(at)bowt(dot)ie>, "Bossart, Nathan" <bossartn(at)amazon(dot)com>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Add index scan progress to pg_stat_progress_vacuum |
Date: | 2022-03-08 15:41:47 |
Message-ID: | F5F2CD8C-49D4-4B9A-983F-E3FF0E8CF048@amazon.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
+ +/*
+ + * vacuum_worker_init --- initialize this module's shared memory hash
+ + * to track the progress of a vacuum worker
+ + */
+ +void
+ +vacuum_worker_init(void)
+ +{
+ + HASHCTL info;
+ + long max_table_size = GetMaxBackends();
+ +
+ + VacuumWorkerProgressHash = NULL;
+ +
+ + info.keysize = sizeof(pid_t);
+ + info.entrysize = sizeof(VacProgressEntry);
+ +
+ + VacuumWorkerProgressHash = ShmemInitHash("Vacuum Progress Hash",
+ +
+ max_table_size,
+ +
+ max_table_size,
+ +
+ &info,
+ +
+ HASH_ELEM | HASH_BLOBS);
+ +}
+ It seems to me that creating a shmem hash with max_table_size entries
+ for parallel vacuum process tracking is too much. IIRC an old patch
+ had parallel vacuum workers advertise its progress and changed the
+ pg_stat_progress_vacuum view so that it aggregates the results
+ including workers' stats. I think it’s better than the current one.
+ Why did you change that?
+ Regards,
I was trying to avoid a shared memory to track completed indexes, but aggregating stats does not work with parallel vacuums. This is because a parallel worker will exit before the vacuum completes causing the aggregated total to be wrong.
For example
Leader_pid advertises it completed 2 indexes
Parallel worker advertises it completed 2 indexes
When aggregating we see 4 indexes completed.
After the parallel worker exits, the aggregation will show only 2 indexes completed.
--
Sami Imseih
Amazon Web Services
From | Date | Subject | |
---|---|---|---|
Next Message | Dilip Kumar | 2022-03-08 16:14:41 | Re: Optimize external TOAST storage |
Previous Message | Robert Haas | 2022-03-08 15:28:23 | Re: refactoring basebackup.c |