// Token: 0x06000EB4 RID: 3764 RVA: 0x0003ED7C File Offset: 0x0003CF7C public bool IsPaxosConfiguredAndLeaderExist(out string statusInfoStr) { statusInfoStr = "<null>"; this.InitializeIfRequired(); InstanceStatusInfo si = null; Utils.RunBestEffort(delegate { si = this.ClientFactory.LocalClient.GetStatus(null); }); if (si != null) { statusInfoStr = Utils.SerializeObjectToJsonString <InstanceStatusInfo>(si, false, true); } return(si != null && si.IsValidLeaderExist()); }
private void CheckHealthInternal() { bool flag = true; bool flag2 = false; InstanceStatusInfo instanceStatus = this.GetInstanceStatus(); if (instanceStatus != null) { if (instanceStatus.State == InstanceState.Running || instanceStatus.State == InstanceState.Starting) { this.firstObservedUnhealthyTime = DateTimeOffset.MinValue; flag = false; } } else if (this.processInfo == null) { flag2 = true; } if (flag) { if (this.firstObservedUnhealthyTime == DateTimeOffset.MinValue) { this.firstObservedUnhealthyTime = DateTimeOffset.Now; } if (DateTimeOffset.Now - this.firstObservedUnhealthyTime >= this.config.Settings.DurationToWaitBeforeRestart) { flag2 = true; } this.manager.EventLogger.Log(DxEventSeverity.Warning, 0, "{0}: Instance is unhealthy. (IsRestartRequired: {1}, FirstUnhealthyTime: {2})", new object[] { this.config.Identity, flag2, this.firstObservedUnhealthyTime }); } else if (this.config.Settings.IsAllowDynamicReconfig && instanceStatus != null && instanceStatus.IsValidPaxosMembersExist() && instanceStatus.IsValidLeaderExist() && !instanceStatus.AreMembersSame(this.config.Members)) { bool flag4; bool flag5; bool flag3 = this.ReconfigureBestEffort("Checker.ReconfigureBestEffort", this.config.Members, instanceStatus, out flag4, out flag5); if (flag4 && !flag3) { flag2 = true; } } if (flag2) { this.IsRestartRequested = true; Task.Factory.StartNew(delegate() { this.manager.RestartInstance(this.config.Name, false); }); } }