diff --git a/src/KubernetesClient/LeaderElection/LeaderElector.cs b/src/KubernetesClient/LeaderElection/LeaderElector.cs index af25059..3ae5ae4 100644 --- a/src/KubernetesClient/LeaderElection/LeaderElector.cs +++ b/src/KubernetesClient/LeaderElection/LeaderElector.cs @@ -28,6 +28,11 @@ namespace k8s.LeaderElection /// public event Action OnNewLeader; + /// + /// OnError is called when there is an error trying to determine leadership. + /// + public event Action OnError; + private volatile LeaderElectionRecord observedRecord; private DateTimeOffset observedTime = DateTimeOffset.MinValue; private string reportedLeader; @@ -69,8 +74,9 @@ namespace k8s.LeaderElection MaybeReportTransition(); } } - catch + catch (Exception e) { + OnError?.Invoke(e); // ignore return false; } @@ -129,6 +135,8 @@ namespace k8s.LeaderElection { return false; } + + OnError?.Invoke(e); } if (oldLeaderElectionRecord?.AcquireTime == null ||