Example #1
0
        public void Create(int nodeLength, TestClusterOptions options = null)
        {
            _nodeLength = nodeLength;
            options     = options ?? TestClusterOptions.Default;
            _ccm        = new CcmBridge(Name, ClusterIpPrefix, DsePath, Version, _executor);
            _ccm.Create(options.UseSsl);
            _ccm.Populate(nodeLength, options.Dc2NodeLength, options.UseVNodes);
            _ccm.UpdateConfig(options.CassandraYaml);

            if (TestClusterManager.IsDse)
            {
                _ccm.UpdateDseConfig(options.DseYaml);
                _ccm.SetWorkloads(nodeLength, options.Workloads);
            }

            if (TestClusterManager.Executor is WslCcmProcessExecuter)
            {
                _ccm.UpdateConfig(new []
                {
                    "read_request_timeout_in_ms: 20000",
                    "counter_write_request_timeout_in_ms: 20000",
                    "write_request_timeout_in_ms: 20000",
                    "request_timeout_in_ms: 20000",
                    "range_request_timeout_in_ms: 30000"
                });
                if (TestClusterManager.IsDse)
                {
                    if (TestClusterManager.CheckDseVersion(new Version(6, 7), Comparison.LessThan))
                    {
                        _ccm.UpdateConfig(new[]
                        {
                            "user_defined_function_fail_timeout: 20000"
                        });
                    }
                    else
                    {
                        _ccm.UpdateConfig(new[]
                        {
                            "user_defined_function_fail_micros: 20000"
                        });
                    }
                }
            }
        }