/// <summary> /// Tests DowngradingConsistencyRetryPolicy /// /// @test_category connection:retry_policy /// </summary> public void DowngradingConsistencyRetryPolicyTest(Builder builder) { PolicyTestTools policyTestTools = new PolicyTestTools(); ITestCluster testCluster = TestClusterManager.GetNonShareableTestCluster(3); testCluster.Builder = builder; testCluster.InitClient(); policyTestTools.CreateSchema(testCluster.Session, 3); // FIXME: Race condition where the nodes are not fully up yet and assertQueried reports slightly different numbers TestUtils.WaitForSchemaAgreement(testCluster.Cluster); policyTestTools.InitPreparedStatement(testCluster, 12, ConsistencyLevel.All); policyTestTools.Query(testCluster, 12, ConsistencyLevel.All); policyTestTools.AssertAchievedConsistencyLevel(ConsistencyLevel.All); //Kill one node: 2 nodes alive testCluster.Stop(2); TestUtils.WaitForDown(testCluster.ClusterIpPrefix + "2", testCluster.Cluster, 20); //After killing one node, the achieved consistency level should be downgraded policyTestTools.ResetCoordinators(); policyTestTools.Query(testCluster, 12, ConsistencyLevel.All); policyTestTools.AssertAchievedConsistencyLevel(ConsistencyLevel.Two); }