Skip to main content

Release Announcement v1.6.1

We are pleased to announce that the Apache YuniKorn community has voted to release 1.6.1. Apache YuniKorn is a standalone resource scheduler, designed for managing and scheduling Batch and Data workloads on container orchestration frameworks like Kubernetes for on-prem and on-cloud use cases.

Overview

The Apache YuniKorn community has resolved 12 JIRAs in this release.

Release manager: Craig Condit

Release date: 2025-01-24

Highlights

This release is primarily a bugfix release and contains critical fixes for issues found in YuniKorn 1.6.0. All users of 1.6.0 are urged to upgrade.

Orphan allocation due to reservation host mismatch

Critical: YuniKorn 1.6.0 can improperly assign an allocation to the wrong host when a reservation on one node is fulfilled on a different one. Fixed in YUNIKORN-2978.

Improper locking during Kubernetes event handling

Critical: A race condition was found which can corrupt internal YuniKorn data structures when pod and node events are published simultaneously. Fixed in YUNIKORN-2910.

Scheduling of multiple DaemonSet pods can fail if one is reserved

Critical: YuniKorn can fail to allocate a DaemonSet pod in the case where a different DaemonSet pod was already reserved on the same node. Fixed in YUNIKORN-2976.

Incorrect accounting of preeempted allocations

YuniKorn could mark an allocation as preempted again during it's graceful shutdown procedure, leading to resource accounting errors. Fixed in YUNIKORN-3003.

Incorrect count of placeholders released

Placeholder pod releases can be counted twice when cleanup of a timed out pod is requested. Fixed in YUNIKORN-2953.

Improper locking in user/group tracking

YuniKorn could update internal accounting structures unsafely in som cases. Fixed in YUNIKORN-3004.

Helm chart now supports setting GOGC / GOMEMLIMIT

In prior versions, YuniKorn's memory usage was unrestricted and did not honor container requests or limits. In 1.6.1 and later releases, the YuniKorn Helm charts support setting these values via the goGC and goMemoryLimit attributes. These can be set on the scheduler, admission controller, and web containers.

NOTE: If you have customized YuniKorn's container memory requests or limits, please ensure goMemoryLimit is set to an appopriate value for your environment. The defaults for each container in the Helm chart correspond to 75% of the default memory limits.

See YUNIKORN-3000 for more information.