コード例 #1
0
        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));
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        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;
            }
        }