|
|
|
|
|
|
|
|
|
|
xen-api
[Xen-API] [PATCH 0 of 3] Work around race in the domain shutdown code
Work around race in the domain shutdown code.
When we previously changed the code to drop the per-VM mutex when requesting a
domain shuts itself down (control/shutdown=x) we deliberately made it possible
for a shutdown via the API to race with a shutdown triggered externally, via
the event thread. We fixed this by making the destroy code check to see whether
the domain had already been restarted and retry if so.
Unfortunately (i) we didn't add a delay into the retry loop allowing it to busy
loop; and (ii) it turns out that calling Xc.domain_shutdown doesn't guarantee
that subsequent Xc.domain_getinfo calls see the new state-- this triggered the
retry (busy)loop.
Work around this by adding a 5s delay to the retry loop. Note that this is
triggered very rarely in my testing: 1000 shutdowns triggered the retry twice.
Signed-off-by: David Scott <dave.scott@xxxxxxxxxxxxx>
2 files changed, 15 insertions(+), 6 deletions(-)
ocaml/xapi/events.ml | 8 ++++----
ocaml/xapi/xapi_vm.ml | 13 +++++++++++--
_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-API] [PATCH 0 of 3] Work around race in the domain shutdown code,
David Scott <=
|
|
|
|
|