Ejemplo n.º 1
0
 public HaloStreamSubscribeTests(Fixture fixture)
 {
     this.fixture  = fixture;
     HostedCluster = fixture.HostedCluster;
     fixture.EnsurePreconditionsMet();
 }
Ejemplo n.º 2
0
 public void TestTearDown()
 {
     //Resume both nodes before each test
     TestCluster.ResumeNode(1);
     TestCluster.ResumeNode(2);
 }
Ejemplo n.º 3
0
 public TestParallelismHash(ClusterFixture fixture)
 {
     _cluster = fixture.Cluster;
 }
Ejemplo n.º 4
0
 public DTxAccount_Test(ClusterFixture fixture)
 {
     this.cluster = fixture.Cluster;
 }
Ejemplo n.º 5
0
 public HaloStreamSubscribeTests(Fixture fixture)
 {
     HostedCluster = fixture.HostedCluster;
 }
Ejemplo n.º 6
0
 public TestFilterOperator(ClusterFixture fixture)
 {
     _cluster = fixture.Cluster;
 }
Ejemplo n.º 7
0
 public void Dispose()
 {
     cluster?.StopAllSilos();
     cluster = null;
 }
 public void TearDown()
 {
     TestCluster?.Remove();
     ClusterObj?.Shutdown();
 }
Ejemplo n.º 9
0
 public TestMultipleInputs(ClusterFixture fixture)
 {
     _cluster = fixture.Cluster;
 }
Ejemplo n.º 10
0
 public SqlClientInitTests(Fixture fixture)
 {
     HostedCluster = fixture.HostedCluster;
 }
Ejemplo n.º 11
0
 public StreamProvidersTests_ProviderConfigNotLoaded(ITestOutputHelper output, Fixture fixture)
 {
     this.output = output;
     this.HostedCluster = fixture.HostedCluster;
 }
Ejemplo n.º 12
0
        public async Task Should_ContinueQuerying_When_ANodeGoesDown()
        {
            var session = await CreateSessionAsync(act : builder =>
                                                   builder.WithPoolingOptions(
                                                       new PoolingOptions().SetHeartBeatInterval(50))
                                                   .WithReconnectionPolicy(new ConstantReconnectionPolicy(40))
                                                   .WithQueryOptions(new QueryOptions().SetDefaultIdempotence(true))).ConfigureAwait(false);

            Assert.IsTrue(session.Cluster.AllHosts().All(h => h.IsUp));
            var restarted = true;
            var t         = Task.Run(async() =>
            {
                TestCluster.Stop(1);
                await Task.Delay(2000).ConfigureAwait(false);
                TestCluster.Start(1, "--jvm_arg \"-Ddse.product_type=DATASTAX_APOLLO\"");
                await Task.Delay(500).ConfigureAwait(false);
                try
                {
                    TestHelper.RetryAssert(
                        () =>
                    {
                        var dict = Session.Cluster.Metadata.TokenToReplicasMap.GetByKeyspace("system_distributed");
                        Assert.AreEqual(3, dict.First().Value.Count);
                        Assert.AreEqual(3, Session.Cluster.AllHosts().Count);
                        Assert.IsTrue(Session.Cluster.AllHosts().All(h => h.IsUp));
                    },
                        20,
                        500);
                }
                finally
                {
                    Volatile.Write(ref restarted, true);
                }
            });

            var t2 = Task.Run(async() =>
            {
                while (true)
                {
                    if (Volatile.Read(ref restarted))
                    {
                        return;
                    }

                    var tasks    = new List <Task>();
                    long counter = 0;
                    foreach (var _ in Enumerable.Range(0, 32))
                    {
                        tasks.Add(Task.Run(async() =>
                        {
                            while (true)
                            {
                                var c = Interlocked.Increment(ref counter);
                                if (c > 1000)
                                {
                                    return;
                                }

                                try
                                {
                                    await session.ExecuteAsync(new SimpleStatement("SELECT key FROM system.local")).ConfigureAwait(false);
                                }
                                catch (QueryTimeoutException) {}
                            }
                        }));
                    }

                    await Task.WhenAll(tasks).ConfigureAwait(false);
                }
            });
            await Task.WhenAll(t, t2).ConfigureAwait(false);
        }