Vladimir Sementsov-Ogievskiy <vsementsov(a)yandex-team.ru> writes:
On 04.04.25 09:20, Markus Armbruster wrote:
> Vladimir Sementsov-Ogievskiy <vsementsov(a)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!