qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: issuing [block-]job-complete to jobs in STANDBY state


From: Peter Krempa
Subject: Re: issuing [block-]job-complete to jobs in STANDBY state
Date: Tue, 6 Apr 2021 10:05:58 +0200
User-agent: Mutt/2.0.5 (2021-01-21)

On Thu, Apr 01, 2021 at 15:02:35 -0400, John Snow wrote:
> Hi; downstream we've run into an issue where VMs under heavy load with many
> simultaneously concurrent block jobs running might occasionally flicker into
> the STANDBY state, during which time they will be unable to receive JOB
> COMPLETE commands. I assume this flicker is due to
> child_job_drained_begin().
> 
> BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1945635
> 
> It's safe to just retry this operation again, but it may be difficult to
> understand WHY the job is paused at the application level, since the flush
> event may be asynchronous and unpredictable.
> 
> We could define a transition to allow COMPLETE to be applied to STANDBY
> jobs, but is there any risk or drawback to doing so? On QMP's side, we do
> know the difference between a temporary pause and a user pause/error pause
> (Both use the user_pause flag.)

I think qemu should allow that, because otherwise it's like playing
whack-a-mole. Libvirt could delay the completiion until the 'standby'
state is over and the job is running but that would be racy.

Additionally, we could even hit the standby state before the state
transition would be processed internally, and the error message is too
generic to attempt to decide what to do based on it. (We do want to
report real errors)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]