Hi Mike, What about the output of tpstats ? I imagine you have dropped messages there. Any blocked threads ? Could you paste this output here ?
May this be due to some network hiccup to access the disks as they are EBS ? Can you think of anyway of checking this ? Do you have a lot of GC logs, how long are the pauses (use something like: grep -i 'GCInspector' /var/log/cassandra/system.log) ? Something else you could check are local_writes stats to see if only one table if affected or this is keyspace / cluster wide. You can use metrics exposed by cassandra or if you have no dashboards I believe a: 'nodetool cfstats <myks> | grep -e 'Table:' -e 'Local'' should give you a rough idea of local latencies. Those are just things I would check, I have not a clue on what is happening here, hope this will help. C*heers, ----------------- Alain Rodriguez France The Last Pickle http://www.thelastpickle.com 2016-02-18 5:13 GMT+01:00 Mike Heffner <m...@librato.com>: > Jaydeep, > > No, we don't use any light weight transactions. > > Mike > > On Wed, Feb 17, 2016 at 6:44 PM, Jaydeep Chovatia < > chovatia.jayd...@gmail.com> wrote: > >> Are you guys using light weight transactions in your write path? >> >> On Thu, Feb 11, 2016 at 12:36 AM, Fabrice Facorat < >> fabrice.faco...@gmail.com> wrote: >> >>> Are your commitlog and data on the same disk ? If yes, you should put >>> commitlogs on a separate disk which don't have a lot of IO. >>> >>> Others IO may have great impact impact on your commitlog writing and >>> it may even block. >>> >>> An example of impact IO may have, even for Async writes: >>> >>> https://engineering.linkedin.com/blog/2016/02/eliminating-large-jvm-gc-pauses-caused-by-background-io-traffic >>> >>> 2016-02-11 0:31 GMT+01:00 Mike Heffner <m...@librato.com>: >>> > Jeff, >>> > >>> > We have both commitlog and data on a 4TB EBS with 10k IOPS. >>> > >>> > Mike >>> > >>> > On Wed, Feb 10, 2016 at 5:28 PM, Jeff Jirsa < >>> jeff.ji...@crowdstrike.com> >>> > wrote: >>> >> >>> >> What disk size are you using? >>> >> >>> >> >>> >> >>> >> From: Mike Heffner >>> >> Reply-To: "user@cassandra.apache.org" >>> >> Date: Wednesday, February 10, 2016 at 2:24 PM >>> >> To: "user@cassandra.apache.org" >>> >> Cc: Peter Norton >>> >> Subject: Re: Debugging write timeouts on Cassandra 2.2.5 >>> >> >>> >> Paulo, >>> >> >>> >> Thanks for the suggestion, we ran some tests against CMS and saw the >>> same >>> >> timeouts. On that note though, we are going to try doubling the >>> instance >>> >> sizes and testing with double the heap (even though current usage is >>> low). >>> >> >>> >> Mike >>> >> >>> >> On Wed, Feb 10, 2016 at 3:40 PM, Paulo Motta < >>> pauloricard...@gmail.com> >>> >> wrote: >>> >>> >>> >>> Are you using the same GC settings as the staging 2.0 cluster? If >>> not, >>> >>> could you try using the default GC settings (CMS) and see if that >>> changes >>> >>> anything? This is just a wild guess, but there were reports before of >>> >>> G1-caused instabilities with small heap sizes (< 16GB - see >>> CASSANDRA-10403 >>> >>> for more context). Please ignore if you already tried reverting back >>> to CMS. >>> >>> >>> >>> 2016-02-10 16:51 GMT-03:00 Mike Heffner <m...@librato.com>: >>> >>>> >>> >>>> Hi all, >>> >>>> >>> >>>> We've recently embarked on a project to update our Cassandra >>> >>>> infrastructure running on EC2. We are long time users of 2.0.x and >>> are >>> >>>> testing out a move to version 2.2.5 running on VPC with EBS. Our >>> test setup >>> >>>> is a 3 node, RF=3 cluster supporting a small write load (mirror of >>> our >>> >>>> staging load). >>> >>>> >>> >>>> We are writing at QUORUM and while p95's look good compared to our >>> >>>> staging 2.0.x cluster, we are seeing frequent write operations that >>> time out >>> >>>> at the max write_request_timeout_in_ms (10 seconds). CPU across the >>> cluster >>> >>>> is < 10% and EBS write load is < 100 IOPS. Cassandra is running >>> with the >>> >>>> Oracle JDK 8u60 and we're using G1GC and any GC pauses are less >>> than 500ms. >>> >>>> >>> >>>> We run on c4.2xl instances with GP2 EBS attached storage for data >>> and >>> >>>> commitlog directories. The nodes are using EC2 enhanced networking >>> and have >>> >>>> the latest Intel network driver module. We are running on HVM >>> instances >>> >>>> using Ubuntu 14.04.2. >>> >>>> >>> >>>> Our schema is 5 tables, all with COMPACT STORAGE. Each table is >>> similar >>> >>>> to the definition here: >>> >>>> https://gist.github.com/mheffner/4d80f6b53ccaa24cc20a >>> >>>> >>> >>>> This is our cassandra.yaml: >>> >>>> >>> https://gist.github.com/mheffner/fea80e6e939dd483f94f#file-cassandra-yaml >>> >>>> >>> >>>> Like I mentioned we use 8u60 with G1GC and have used many of the GC >>> >>>> settings in Al Tobey's tuning guide. This is our upstart config >>> with JVM and >>> >>>> other CPU settings: >>> https://gist.github.com/mheffner/dc44613620b25c4fa46d >>> >>>> >>> >>>> We've used several of the sysctl settings from Al's guide as well: >>> >>>> https://gist.github.com/mheffner/ea40d58f58a517028152 >>> >>>> >>> >>>> Our client application is able to write using either Thrift batches >>> >>>> using Asytanax driver or CQL async INSERT's using the Datastax Java >>> driver. >>> >>>> >>> >>>> For testing against Thrift (our legacy infra uses this) we write >>> batches >>> >>>> of anywhere from 6 to 1500 rows at a time. Our p99 for batch >>> execution is >>> >>>> around 45ms but our maximum (p100) sits less than 150ms except when >>> it >>> >>>> periodically spikes to the full 10seconds. >>> >>>> >>> >>>> Testing the same write path using CQL writes instead demonstrates >>> >>>> similar behavior. Low p99s except for periodic full timeouts. We >>> enabled >>> >>>> tracing for several operations but were unable to get a trace that >>> completed >>> >>>> successfully -- Cassandra started logging many messages as: >>> >>>> >>> >>>> INFO [ScheduledTasks:1] - MessagingService.java:946 - _TRACE >>> messages >>> >>>> were dropped in last 5000 ms: 52499 for internal timeout and 0 for >>> cross >>> >>>> node timeout >>> >>>> >>> >>>> And all the traces contained rows with a "null" source_elapsed row: >>> >>>> >>> https://gist.githubusercontent.com/mheffner/1d68a70449bd6688a010/raw/0327d7d3d94c3a93af02b64212e3b7e7d8f2911b/trace.out >>> >>>> >>> >>>> >>> >>>> We've exhausted as many configuration option permutations that we >>> can >>> >>>> think of. This cluster does not appear to be under any significant >>> load and >>> >>>> latencies seem to largely fall in two bands: low normal or max >>> timeout. This >>> >>>> seems to imply that something is getting stuck and timing out at >>> the max >>> >>>> write timeout. >>> >>>> >>> >>>> Any suggestions on what to look for? We had debug enabled for >>> awhile but >>> >>>> we didn't see any msg that pointed to something obvious. Happy to >>> provide >>> >>>> any more information that may help. >>> >>>> >>> >>>> We are pretty much at the point of sprinkling debug around the code >>> to >>> >>>> track down what could be blocking. >>> >>>> >>> >>>> >>> >>>> Thanks, >>> >>>> >>> >>>> Mike >>> >>>> >>> >>>> -- >>> >>>> >>> >>>> Mike Heffner <m...@librato.com> >>> >>>> Librato, Inc. >>> >>>> >>> >>> >>> >> >>> >> >>> >> >>> >> -- >>> >> >>> >> Mike Heffner <m...@librato.com> >>> >> Librato, Inc. >>> >> >>> > >>> > >>> > >>> > -- >>> > >>> > Mike Heffner <m...@librato.com> >>> > Librato, Inc. >>> > >>> >>> >>> >>> -- >>> Close the World, Open the Net >>> http://www.linux-wizard.net >>> >> >> > > > -- > > Mike Heffner <m...@librato.com> > Librato, Inc. > >