Vladimir Sementsov-Ogievskiy <vsement...@yandex-team.ru> writes: > On 04.04.25 09:20, Markus Armbruster wrote: >> Vladimir Sementsov-Ogievskiy <vsement...@yandex-team.ru> writes:
[...] >>> + >>> +``block-job-finalize`` (since 10.1) >>> +'''''''''''''''''''''''''''''''''' >>> + >>> +Use ``job-finalize`` instead. >>> + >> >> block-job-finalize's doc comment: >> >> # Once a job that has manual=true reaches the pending state, it can be >> # instructed to finalize any graph changes and do any necessary >> # cleanup via this command. [...] >> >> There is no member @manual anywhere in the QAPI schema. I figure this >> should be @auto-finalize. >> >> job-finalize's doc comment: >> >> # Instructs all jobs in a transaction (or a single job if it is not >> # part of any transaction) to finalize any graph changes and do any >> # necessary cleanup. This command requires that all involved jobs are >> # in the PENDING state. >> >> Nothing on @auto-finalize. >> >> @auto-finalize defaults to true for jobs that support controlling it. >> These are exactly the ones that support @auto-dismiss. >> >> I figure @auto-dismiss is always false for the other jobs, but that >> doesn't seem to be documented anywhere. >> >> The only other bits related to @auto-dismiss and @auto-finalize seem to >> be two states in JobStatus: >> >> # @pending: The job has finished its work, but has finalization steps >> # that it needs to make prior to completing. These changes will >> # require manual intervention via @job-finalize if auto-finalize >> # was set to false. These pending changes may still fail. >> [...] >> # @concluded: The job has finished all work. If auto-dismiss was set >> # to false, the job will remain in the query list until it is >> # dismissed via @job-dismiss. >> >> >> Is it possible to observe @concluded via QMP when @auto-dismiss is on? > > Seems not. > >> >> What about @pending? > > Hmm probably, if we have a transaction of several jobs (actually only backups > may be joined to transactions), where some have auto-finalize and some not, > the whole transaction would be pending, including jobs that has > auto-finalize=true. Still, it's a strange case. So, auto-finalize=true is silently ignored when another job in the same transaction has auto-finalize=false? >> Aside: getting rid of auto-dismiss and auto-finalize some day would be >> nice. >> > > Hmm.. You mean, deprecated "true" value, and finally drop the fields, making > "false" the default? May be. May or may not be practical. > I'll resend, with additional patch to touch-up the documentation. Thanks!