public async Task SiloInstanceTable_Op_CleanDeadSiloInstance() { // Register a silo entry await manager.TryCreateTableVersionEntryAsync(); this.generation = 0; RegisterSiloInstance(); // and mark it as dead await manager.UnregisterSiloInstance(myEntry); // Create new active entries for (int i = 1; i < 5; i++) { this.generation = i; this.siloAddress = SiloAddressUtils.NewLocalSiloAddress(generation); var instance = RegisterSiloInstance(); await manager.ActivateSiloInstance(instance); } await Task.Delay(TimeSpan.FromSeconds(3)); await manager.CleanupDefunctSiloEntries(DateTime.Now - TimeSpan.FromSeconds(1)); var entries = await manager.FindAllSiloEntries(); Assert.Equal(5, entries.Count); Assert.All(entries, e => Assert.NotEqual(SiloInstanceTableTestConstants.INSTANCE_STATUS_DEAD, e.Item1.Status)); }
public async Task <MembershipTableData> ReadAll() { try { var entries = await tableManager.FindAllSiloEntries(); MembershipTableData data = Convert(entries); if (logger.IsVerbose2) { logger.Verbose2("ReadAll Table=" + Environment.NewLine + "{0}", data.ToString()); } return(data); } catch (Exception exc) { logger.Warn(ErrorCode.AzureTable_21, String.Format( "Intermediate error reading all silo entries {0}.", tableManager.TableName), exc); throw; } }
public async Task <MembershipTableData> ReadAll() { try { var entries = await tableManager.FindAllSiloEntries(); MembershipTableData data = Convert(entries); if (logger.IsEnabled(LogLevel.Trace)) { logger.Trace("ReadAll Table=" + Environment.NewLine + "{0}", data.ToString()); } return(data); } catch (Exception exc) { logger.Warn((int)TableStorageErrorCode.AzureTable_21, $"Intermediate error reading all silo entries {tableManager.TableName}.", exc); throw; } }