[ https://issues.apache.org/jira/browse/YUNIKORN-1816 ]
Chen Yu Teng deleted comment on YUNIKORN-1816:
----------------------------------------
was (Author: yukali):
I add some log in the checkQueueHierarchyForPlacement.
{code:java}
log.Logger().Debug("Try",zap.String("Parent",
queueConf.Name),zap.String("child", queueName)) {code}
The same name shows up in the queueConf.Name and queueName.
{code:java}
2023-06-15T19:57:16.219Z DEBUG configs/configvalidator.go:193 checking
placement rule config {"rules-path": "root.parent.leaf"}
│
2023-06-15T19:57:16.219Z DEBUG configs/configvalidator.go:228 Try
{"Parent": "root", "child": "root"}
2023-06-15T19:57:16.219Z DEBUG configs/configvalidator.go:228 Try
{"Parent": "parent", "child": "parent"}
2023-06-15T19:57:16.219Z DEBUG configs/configvalidator.go:228 Try
{"Parent": "leaf", "child": "leaf"}
2023-06-15T19:57:16.219Z DEBUG configs/configvalidator.go:241 Parent
cant create
2023-06-15T19:57:16.219Z ERROR configs/config.go:176 queue
configuration validation failed {"error": "placement rule no. #0 (fixed)
references a queue (root.parent.leaf) which is a leaf"} {code}
> Fixed placement rule no longer works due to incorrect validation
> ----------------------------------------------------------------
>
> Key: YUNIKORN-1816
> URL: https://issues.apache.org/jira/browse/YUNIKORN-1816
> Project: Apache YuniKorn
> Issue Type: Bug
> Components: core - common
> Affects Versions: 1.3.0
> Reporter: Peter Bacsko
> Assignee: Peter Bacsko
> Priority: Critical
>
> In release 1.3.0, "fixed" placement rule which points to a leaf queue no
> longer works (the logic was added in YUNIKORN-1568).
> The following configuration is rejected:
> {noformat}
> partitions:
> - name: default
> placementrules:
> - name: fixed
> value: root.parent.leaf
> create: false
> queues:
> - name: root
> submitacl: '*'
> parent: true
> queues:
> - name: parent
> parent: true
> queues:
> - name: leaf
> parent: false
> {noformat}
> Let's say we have a fixed rule which points to the queue
> "root.queue1.queue2". The queue config can be the same, shorter
> ("root.queue1") or longer ("root.queue1.queue2.queue3"). If the path is
> shorter, we have the "create" flag and "queue2" can either be a parent or
> leaf.
> In total, we have the following cases:
> ||Scenario||Validation result||
> |Path exist, leaf|FAIL (should pass, but returns an error)|
> |Path exist, parent|FAIL (should return an error, but passes)|
> |Shorter path, leaf - create = true|OK (error message is incorrect)|
> |Shorter path, leaf - create = false|OK (error message is incorrect)|
> |Shorter path, parent - create = true|OK|
> |Shorter path, parent - create = false|OK|
> |Longer path|(should return an error, but passes)|
> The most critical is the first two, which is completely reversed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]