[
https://issues.apache.org/jira/browse/YUNIKORN-3418?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
KAI-JAY TU reassigned YUNIKORN-3418:
------------------------------------
Assignee: KAI-JAY TU
> User/group resolution runs under the PartitionContext read lock
> ---------------------------------------------------------------
>
> Key: YUNIKORN-3418
> URL: https://issues.apache.org/jira/browse/YUNIKORN-3418
> Project: Apache YuniKorn
> Issue Type: Sub-task
> Components: core - scheduler
> Reporter: Dale Richardson
> Assignee: KAI-JAY TU
> Priority: Minor
>
> {{PartitionContext.convertUGI}} takes {{pc.RLock()}} and then calls
> {{userGroupCache.ConvertUGI}}, which for an uncached user resolves through
> the configured OS or LDAP resolver. The cache releases its own lock around
> the lookup, but the partition lock stays held, so a slow or unreachable
> directory blocks every partition writer ({{AddApplication}}, node add and
> remove, allocation processing, config update) for as long as the lookup
> takes. Negative results are cached for only 30 seconds, so a broken directory
> recurs per user.
> With the default no-op resolver of the Kubernetes deployment the section is
> bounded and this does not apply; it matters for OS and LDAP resolvers. Not
> reproduced.
> Fix: {{userGroupCache}} is set at construction, so read it and call
> {{ConvertUGI}} after releasing the lock.
> Marker: {{convertUGI}} in {{partition.go}} carries {{+lockblockingignore}}
> for this JIRA; the fix removes it.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]