> Hi, > > I would like to propose to add an option to pgbench so that benchmark > can quit immediately when any client is aborted. Currently, when a > client is aborted due to some error, for example, network trouble, > other clients continue their run until a certain number of transactions > specified -t is reached or the time specified by -T is expired. At the > end, the results are printed, but they are not useful, as the message > "Run was aborted; the above results are incomplete" shows.
Sounds like a good idea. It's a waste of resources waiting for unusable benchmark results until t/T expired. If we graze on the screen, then it's easy to cancel the pgbench run. But I frequently let pgbench run without sitting in front of the screen especially when t/T is large (it's recommended that running pgbench with large enough t/T to get usable results). > For precise benchmark purpose, we would not want to wait to get such > incomplete results, rather we would like to know some trouble happened > to allow a quick retry. Therefore, it would be nice to add an option to > make pgbench exit instead of continuing run in other clients when any > client is aborted. I think adding the optional is better than whole > behavioural change because some users that use pgbench just in order > to stress on backends for testing purpose rather than benchmark might > not want to stop pgbench even a client is aborted. > > Attached is the patch to add the option --exit-on-abort. > If this option is specified, when any client is aborted, pgbench > immediately quit by calling exit(2). > > What do you think about it? I think aborting pgbench by calling exit(2) is enough. It's not worth the trouble to add more codes for this purpose. Best reagards, -- Tatsuo Ishii SRA OSS LLC English: http://www.sraoss.co.jp/index_en/ Japanese:http://www.sraoss.co.jp