You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@yunikorn.apache.org by "Craig Condit (Jira)" <ji...@apache.org> on 2025/02/19 22:49:00 UTC

[jira] [Updated] (YUNIKORN-2688) new applications get placed in draining queue

     [ https://issues.apache.org/jira/browse/YUNIKORN-2688?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Craig Condit updated YUNIKORN-2688:
-----------------------------------
    Target Version: 1.8.0  (was: 1.7.0)

> 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
>          Components: core - scheduler
>            Reporter: Hengzhe Guo
>            Assignee: Hengzhe Guo
>            Priority: Major
>
> 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}
> For a queue not creatable, we should expect the app to be rejected.
> For a queue creatable, we should expect the queue to be transitioned back to active state, which is blocked by [YUNIKORN-2689|https://issues.apache.org/jira/browse/YUNIKORN-2689]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: issues-help@yunikorn.apache.org