/**
         * Reproducing the issue #29 in cassandra-sharp
         * https://github.com/pchalamet/cassandra-sharp/issues/29
         * malformed prepared query cause issues to be swallwoed and hold indefinelty to stream_id.
         * */

        public void FailingThread(IPreparedQuery <NonQuery> prepared)
        {
            logger.Debug("Starting Failing thread ");
            Thread.Sleep(5000);

            for (int i = 0; i < NUM_UPDATES; i++)
            {
                logger.Debug("start fail update #" + i);
                try
                {
                    if (0 == (i % 2))
                    {
                        prepared.Execute(new { bar = "bar" + 1, strid = "1" }).AsFuture().Wait();
                        Assert.IsTrue(false, "Update should have failed");
                    }
                    else
                    {
                        prepared.Execute(new { bar = "bar" + 1, intid = i, strid = "1" }).AsFuture().Wait();
                        Console.WriteLine("Update {0} sucessful", i);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Update {0} failed with error {1}", i, ex.Message);
                }

                logger.Debug("end fail update #" + i);
                //Thread.Sleep(2000);
            }
        }
        private static long InsertData(string data, IPreparedQuery<NonQuery> preparedQuery)
        {
            Console.WriteLine("Buffer size {0}", data.Length);
            Stopwatch totalwatch = Stopwatch.StartNew();

            // warmup
            for (int i = 0; i < 10; ++i)
            {
                preparedQuery.Execute(new {x = "abc", y = data}).AsFuture().Wait();
            }

            const long nbQueries = 5000;
            for (var i = 0; i < nbQueries; ++i)
            {
                Stopwatch stopwatch = Stopwatch.StartNew();
                preparedQuery.Execute(new {x = "abc", y = data}).AsFuture().Wait();
                stopwatch.Stop();
                //Console.WriteLine("Insert: {0}", stopwatch.ElapsedMilliseconds);
            }
            totalwatch.Stop();
            Console.WriteLine("Total inserts time ms: {0}", totalwatch.ElapsedMilliseconds);
            Console.WriteLine("Total inserts/s: {0}", (1000.0*nbQueries)/totalwatch.ElapsedMilliseconds);

            return totalwatch.ElapsedMilliseconds;
        }
Exemple #3
0
        private static long InsertData(string data, IPreparedQuery <NonQuery> preparedQuery)
        {
            Console.WriteLine("Buffer size {0}", data.Length);
            Stopwatch totalwatch = Stopwatch.StartNew();

            // warmup
            for (int i = 0; i < 10; ++i)
            {
                preparedQuery.Execute(new { x = "abc", y = data }).AsFuture().Wait();
            }

            const long nbQueries = 5000;

            for (var i = 0; i < nbQueries; ++i)
            {
                Stopwatch stopwatch = Stopwatch.StartNew();
                preparedQuery.Execute(new { x = "abc", y = data }).AsFuture().Wait();
                stopwatch.Stop();
                //Console.WriteLine("Insert: {0}", stopwatch.ElapsedMilliseconds);
            }
            totalwatch.Stop();
            Console.WriteLine("Total inserts time ms: {0}", totalwatch.ElapsedMilliseconds);
            Console.WriteLine("Total inserts/s: {0}", (1000.0 * nbQueries) / totalwatch.ElapsedMilliseconds);

            return(totalwatch.ElapsedMilliseconds);
        }
Exemple #4
0
        private IPreparedQuery <PropertyBag> BuildInsertQuery(IDataReader reader)
        {
            StringBuilder sbCols   = new StringBuilder();
            StringBuilder sbJokers = new StringBuilder();
            string        sep      = "";

            for (int i = 0; i < reader.FieldCount; ++i)
            {
                string name = reader.GetName(i);
                sbCols.AppendFormat("{0}{1}", sep, name);
                sbJokers.AppendFormat("{0}?", sep);
                sep = ",";
            }

            string cqlInsert = string.Format("insert into {0}.{1} ({2}) values ({3})", Keyspace, Table, sbCols, sbJokers);
            var    ccmd      = CommandContext.Cluster.CreatePropertyBagCommand().WithConsistencyLevel(CL);
            IPreparedQuery <PropertyBag> insertQuery = ccmd.Prepare(cqlInsert);

            return(insertQuery);
        }
        public override void ActivateOptions()
        {
            _cluster = ClusterManager.GetCluster(ClusterName);

            string insertCQL =
                    string.Format(
                            "insert into {0}.{1} " +
                            "(id," +
                            "app_name," +
                            "app_start_time," +
                            "class_name," +
                            "file_name," +
                            "host_ip," +
                            "host_name," +
                            "level," +
                            "line_number," +
                            "log_timestamp," +
                            "logger_name," +
                            "message," +
                            "method_name," +
                            "thread_name," +
                            "throwable_str_rep) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",
                            Keyspace, ColumnFamily);

            _insert = _cluster.CreatePocoCommand()
                              .WithConsistencyLevel(ConsistencyLevel)
                              .Prepare(insertCQL);
        }
        /**
         * Reproducing the issue #29 in cassandra-sharp
         * https://github.com/pchalamet/cassandra-sharp/issues/29
         * malformed prepared query cause issues to be swallwoed and hold indefinelty to stream_id.
         * */
        public void FailingThread(IPreparedQuery prepared)
        {
            logger.Debug("Starting Failing thread ");
            Thread.Sleep(5000);

            for (int i = 0; i < NUM_UPDATES; i++)
            {
                logger.Debug("start fail update #" + i);
                try
                {
                    if (0 == (i%2))
                    {
                        prepared.ExecuteNonQuery(new {bar = "bar" + 1, strid = "1"}, ConsistencyLevel.ONE).Wait();
                        Assert.IsTrue(false, "Update should have failed");
                    }
                    else
                    {
                        prepared.ExecuteNonQuery(new { bar = "bar" + 1, intid = i, strid = "1" }, ConsistencyLevel.ONE).Wait();
                        Console.WriteLine("Update {0} sucessful", i);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Update {0} failed with error {1}", i, ex.Message);
                }

                logger.Debug("end fail update #" + i);
                //Thread.Sleep(2000);
            }
        }
 public override void Prepare(string cmd)
 {
     _prepared = _cmd.WithExecutionFlags(ExecutionFlags.ServerTracing).Prepare(cmd);
 }
Exemple #8
0
 public override void Prepare(string cmd)
 {
     _prepared = _cmd.WithExecutionFlags(ExecutionFlags.ServerTracing).Prepare(cmd);
 }