public void Should_Yield_Child_Hosts_When_No_Preferred_Host_Defined()
        {
            var lbp       = new DseLoadBalancingPolicy(new TestLoadBalancingPolicy());
            var statement = new TargettedSimpleStatement("Q");
            var hosts     = lbp.NewQueryPlan(null, statement);

            CollectionAssert.AreEqual(
                new[] { "101.0.0.0:9042", "102.0.0.0:9042" },
                hosts.Select(h => h.Address.ToString()));
        }
        public void Should_Set_Distance_For_Preferred_Host_To_Local()
        {
            var lbp = new DseLoadBalancingPolicy(new TestLoadBalancingPolicy(HostDistance.Ignored));

            Assert.AreEqual(HostDistance.Ignored, lbp.Distance(new Host(new IPEndPoint(200L, 9042), ReconnectionPolicy)));
            var statement = new TargettedSimpleStatement("Q");

            // Use 201 as preferred
            statement.PreferredHost = new Host(new IPEndPoint(201L, 9042), ReconnectionPolicy);
            lbp.NewQueryPlan(null, statement);
            Assert.AreEqual(HostDistance.Local, lbp.Distance(statement.PreferredHost));
        }
        public void Should_Yield_Preferred_Host_First()
        {
            var lbp       = new DseLoadBalancingPolicy(new TestLoadBalancingPolicy());
            var statement = new TargettedSimpleStatement("Q");

            statement.PreferredHost = new Host(new IPEndPoint(201, 9042), ReconnectionPolicy);
            var hosts = lbp.NewQueryPlan(null, statement);

            CollectionAssert.AreEqual(
                new[] { "201.0.0.0:9042", "101.0.0.0:9042", "102.0.0.0:9042" },
                hosts.Select(h => h.Address.ToString()));
        }
        public string FindSparkMaster()
        {
            Trace.TraceInformation("GraphMultiNodeTests: FindSparkMaster");
            using (var cluster = DseCluster.Builder()
                                 .AddContactPoint(TestClusterManager.InitialContactPoint)
                                 .WithLoadBalancingPolicy(DseLoadBalancingPolicy.CreateDefault())
                                 .Build())
            {
                var session = cluster.Connect();

                var sparksRS      = session.Execute(new SimpleStatement("call DseClientTool.getAnalyticsGraphServer();"));
                var result        = sparksRS.ToArray();
                var sparkLocation = ((SortedDictionary <string, string>)result.First()[0])["location"];
                var sparkHost     = sparkLocation.Split(':')[0];
                return(sparkHost);
            }
        }
        public void Should_Contact_Spark_Master_Directly()
        {
            PrepareForSparkTest(_testCluster);
            Trace.TraceInformation("GraphMultiNodeTests: Should_Contact_Spark_Master_Directly");
            var sparkHost = FindSparkMaster();

            using (var cluster = DseCluster.Builder()
                                 .AddContactPoint(TestClusterManager.InitialContactPoint)
                                 .WithGraphOptions(new GraphOptions().SetName(GraphName))
                                 .WithLoadBalancingPolicy(DseLoadBalancingPolicy.CreateDefault())
                                 .Build())
            {
                var session = cluster.Connect();
                for (var i = 0; i < 10; i++)
                {
                    var rs = session.ExecuteGraph(new SimpleGraphStatement("g.V().count()").SetGraphSourceAnalytics().SetReadTimeoutMillis(120000));
                    Assert.AreEqual(sparkHost, rs.Info.QueriedHost.Address.ToString());
                }
            }
        }
Exemplo n.º 6
0
        public void Should_Contact_Spark_Master_Directly()
        {
            var graphName = "name1";

            using (var cluster = DseCluster.Builder().AddContactPoint(CcmHelper.InitialContactPoint).Build())
            {
                var session = cluster.Connect();
                session.ExecuteGraph(new SimpleGraphStatement(string.Format("system.graph(\"{0}\")" +
                                                                            ".option(\"graph.schema_mode\").set(com.datastax.bdp.graph.api.model.Schema.Mode.Production)" +
                                                                            ".ifNotExists().create()", graphName)));
                Thread.Sleep(2000); // sleep 2 seconds to allow graph to propagate to all nodes (DSP-9376).
                session.ExecuteGraph(new SimpleGraphStatement(ClassicSchemaGremlinQuery).SetGraphName(graphName));
                Thread.Sleep(2000);
                session.ExecuteGraph(new SimpleGraphStatement(ClassicLoadGremlinQuery).SetGraphName(graphName));
            }

            using (var cluster = DseCluster.Builder()
                                 .AddContactPoint(CcmHelper.InitialContactPoint)
                                 .WithGraphOptions(new GraphOptions().SetName(graphName))
                                 .WithLoadBalancingPolicy(DseLoadBalancingPolicy.CreateDefault())
                                 .Build())
            {
                var session = cluster.Connect();

                var sparksRS      = session.Execute(new SimpleStatement("call DseClientTool.getAnalyticsGraphServer();"));
                var result        = sparksRS.ToArray();
                var sparkLocation = ((SortedDictionary <string, string>)result.First()[0])["location"];
                var sparkHost     = sparkLocation.Split(':')[0];

                for (var i = 0; i < 10; i++)
                {
                    var rs = session.ExecuteGraph(new SimpleGraphStatement("g.V().count()").SetGraphSourceAnalytics().SetReadTimeoutMillis(120000));
                    Assert.AreEqual(sparkHost, rs.Info.QueriedHost.Address.ToString());
                }
            }
        }