Re: [HACKERS] CLUSTER command progress monitor
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Antonin Houska <ah@cybertec.at>, Tatsuro Yamada <yamada.tatsuro@lab.ntt.co.jp>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2017-11-21T21:19:51Z
Lists: pgsql-hackers
On Tue, Nov 21, 2017 at 12:55 PM, Robert Haas <robertmhaas@gmail.com> wrote: > I agree. > > I have been of the opinion all along that progress monitoring needs to > report facts, not theories. The number of tuples read thus far is a > fact, and is fine to report for whatever value it may have to someone. That makes a lot of sense to me. I sometimes think that we're too hesitant to expose internal information due to concerns about it being hard to interpret. I see wait events as bucking this trend, which I welcome. We see similar trends in the Linux kernel, with tools like perf and BCC/eBPF now being regularly used to debug production issues. > The number of tuples that will be read in the future is a theory, and > as you say, progress monitoring is most likely to be used in cases > where theory and practice ended up being very different. You hit the nail on the head here. It's not that these things are not difficult to interpret - the concern itself is justified. It just needs to be weighed against the benefit of having some instrumentation to start with. People are much more likely to complain about obscure debug information, which makes them feel dumb, than they are to complain about the absence of any instrumentation, but I still think that the latter is the bigger problem. Besides, you don't necessarily have to understand something to act on it. The internals of Oracle are trade secrets, but they were the first to have wait events, I think. At least having something that you can Google can make all the difference. -- Peter Geoghegan
Commits
-
Fix progress reporting of CLUSTER / VACUUM FULL
- 6212276e4343 13.0 landed
- da47e43dc32e 12.0 landed
-
Fix thinko when ending progress report for a backend
- f4b91a50e9e6 9.6.16 landed
- 4950f09e7ae2 10.11 landed
- af28744288b1 11.6 landed
- 4c3e750ab4b5 12.0 landed
- ae060a52b288 13.0 landed
-
Report progress of REINDEX operations
- 03f9e5cba0ee 12.0 cited
-
Add progress reporting for CLUSTER and VACUUM FULL.
- 6f97457e0ddd 12.0 landed
-
Un-hide most cascaded-drop details in regression test results.
- 940311e4bb32 12.0 cited
-
Fix memory leak in printtup.c.
- f2004f19ed9c 12.0 cited
-
Remove unused macro
- fb5806533f9f 12.0 cited