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

Reply via email to