From 53b6fdc0a0d3797eb64ba13e0fa33528e07c3b0c Mon Sep 17 00:00:00 2001 From: Jefftree Date: Fri, 27 Mar 2026 15:06:39 -0400 Subject: [PATCH] Deprecate MultiLock, UnknownLeader, and ConcatRawRecord in client-go leader election Kubernetes-commit: 875a572f25bb7da59ccaf487d889658a10448a63 --- tools/leaderelection/resourcelock/multilock.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/leaderelection/resourcelock/multilock.go b/tools/leaderelection/resourcelock/multilock.go index 5ee1dcbb5..e2ba21d37 100644 --- a/tools/leaderelection/resourcelock/multilock.go +++ b/tools/leaderelection/resourcelock/multilock.go @@ -25,10 +25,14 @@ import ( ) const ( + // Deprecated: UnknownLeader is only used by MultiLock, which is deprecated. UnknownLeader = "leaderelection.k8s.io/unknown" ) -// MultiLock is used for lock's migration +// Deprecated: MultiLock was used to facilitate migration from non-lease +// based leader election to lease-based leader election. Support for +// non-lease locks was removed in Kubernetes 1.28, making MultiLock +// non-functional. Use LeaseLock directly instead. type MultiLock struct { Primary Interface Secondary Interface @@ -99,6 +103,7 @@ func (ml *MultiLock) Identity() string { return ml.Primary.Identity() } +// Deprecated: ConcatRawRecord is only used by MultiLock, which is deprecated. func ConcatRawRecord(primaryRaw, secondaryRaw []byte) []byte { return bytes.Join([][]byte{primaryRaw, secondaryRaw}, []byte(",")) }