Hengzhe Guo created YUNIKORN-2688: ------------------------------------- Summary: new applications get placed in draining queue Key: YUNIKORN-2688 URL: https://issues.apache.org/jira/browse/YUNIKORN-2688 Project: Apache YuniKorn Issue Type: Bug Reporter: Hengzhe Guo
The status of the queue isn't checked when placing new applications. We saw a case where new applications keep getting submitted to a draining queue and the queue can't be really deleted for days. a unit test can confirm: {code:java} diff --git a/pkg/scheduler/placement/placement_test.go b/pkg/scheduler/placement/placement_test.go index 14fe6ac..4f53e0b 100644 --- a/pkg/scheduler/placement/placement_test.go +++ b/pkg/scheduler/placement/placement_test.go @@ -294,6 +294,20 @@ partitions: if err == nil || queueName != "" { t.Errorf("parent queue: app should not have been placed, queue: '%s', error: %v", queueName, err) } + + // user rule existing queue, the queue is draining + tags = make(map[string]string) + user = security.UserGroup{ + User: "testchild", + Groups: []string{}, + } + app = newApplication("app1", "default", "", user, tags, nil, "") + queueFunc("root.testparent.testchild").MarkQueueForRemoval() + err = man.PlaceApplication(app) + queueName = app.GetQueuePath() + if err == nil || queueName != "" { + t.Errorf("draining queue: app should not have been placed, queue: '%s', error: %v", queueName, err) + } } func TestForcePlaceApp(t *testing.T) { {code} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@yunikorn.apache.org For additional commands, e-mail: issues-h...@yunikorn.apache.org