protected async Task CheckReceivedCounts(string when, IStreamReliabilityTestGrain consumerGrain, int expectedReceivedCount, int expectedErrorsCount) #endif { long pk = consumerGrain.GetPrimaryKeyLong(); int receivedCount = 0; for (int i = 0; i < 20; i++) { receivedCount = await consumerGrain.GetReceivedCount(); output.WriteLine("After {0}s ReceivedCount={1} for grain {2}", i, receivedCount, pk); if (receivedCount == expectedReceivedCount) { break; } Thread.Sleep(TimeSpan.FromSeconds(1)); } StreamTestUtils.Assert_AreEqual(output, expectedReceivedCount, receivedCount, "ReceivedCount for stream {0} for grain {1} {2}", _streamId, pk, when); int errorsCount = await consumerGrain.GetErrorsCount(); StreamTestUtils.Assert_AreEqual(output, expectedErrorsCount, errorsCount, "ErrorsCount for stream {0} for grain {1} {2}", _streamId, pk, when); }
protected async Task CheckConsumerCounts(string when, IStreamReliabilityTestGrain consumerGrain, int expectedConsumerCount) #endif { int consumerCount = await consumerGrain.GetConsumerCount(); StreamTestUtils.Assert_AreEqual(output, expectedConsumerCount, consumerCount, "ConsumerCount for stream {0} {1}", _streamId, when); }
protected async Task <bool> CheckGrainCounts() { #if USE_GENERICS string grainType = typeof(StreamReliabilityTestGrain <int>).FullName; #else string grainType = typeof(StreamReliabilityTestGrain).FullName; #endif IManagementGrain mgmtGrain = this.GrainFactory.GetGrain <IManagementGrain>(0); SimpleGrainStatistic[] grainStats = await mgmtGrain.GetSimpleGrainStatistics(); output.WriteLine("Found grains " + Utils.EnumerableToString(grainStats)); var grainLocs = grainStats.Where(gs => gs.GrainType == grainType).ToArray(); Assert.True(grainLocs.Length > 0, "Found too few grains"); Assert.True(grainLocs.Length <= 2, "Found too many grains " + grainLocs.Length); bool sameSilo = grainLocs.Length == 1; if (sameSilo) { StreamTestUtils.Assert_AreEqual(output, 2, grainLocs[0].ActivationCount, "Num grains on same Silo " + grainLocs[0].SiloAddress); } else { StreamTestUtils.Assert_AreEqual(output, 1, grainLocs[0].ActivationCount, "Num grains on Silo " + grainLocs[0].SiloAddress); StreamTestUtils.Assert_AreEqual(output, 1, grainLocs[1].ActivationCount, "Num grains on Silo " + grainLocs[1].SiloAddress); } return(sameSilo); }