Hello,

I've observed scheduling deadlock a few times in my Beaker.
It's typical AB-BA deadlock and seems due to Beaker scheduling per Recipe,
while it should, I think, do per RecipeSet.
What do you think?

Reproducible steps are as follows.

Suppose I have 3 jobs below, each contains a recipeset with 2 recipes:

  job1: RS:1
    R:11 requires hostA
    R:12 requires hostB

  job2: RS:2
    R:21 requires hostB
    R:22 requires hostC

  job3: RS:3 (with high priority)
    R:31 requires hostB
    R:32 requires hostC

and I submit them with a certain interval inbetween:

  submit job1
  => R:11 and R:12 take hostA and hostB, respectively.

  submit job2
  => R:22 takes hostC.
     R:21 is queued, waiting for hostB.

  submit job3
  => R:31 and R:32 are queued.

When job1 completes and hostB is freed,
R:31 takes hostB, since it has higher priority than R:21.

And now we get AB-BA deadlock between RS:2 and RS:3 ...

-- 
Jun'ichi Nomura, NEC Corporation
_______________________________________________
Beaker-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/beaker-devel

Reply via email to