cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sam Tunnicliffe (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-13677) Make SASI timeouts easier to debug
Date Thu, 14 Sep 2017 16:00:08 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-13677?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Sam Tunnicliffe updated CASSANDRA-13677:
----------------------------------------
       Resolution: Fixed
    Fix Version/s:     (was: 4.x)
                   4.0
           Status: Resolved  (was: Patch Available)

Thanks, I think we can safely commit this without waiting for a full CI run :)
I did run the SASI test which references just to be sure, and that's all fine. 
FTR, I made a tiny change to the message used in {{QueryController}} so that it matches the
condition. 

Committed to trunk in {{587c67e3b999a9320ac26754c0d29155fab31511}}


> Make SASI timeouts easier to debug
> ----------------------------------
>
>                 Key: CASSANDRA-13677
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13677
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: sasi
>            Reporter: Corentin Chary
>            Assignee: Corentin Chary
>            Priority: Minor
>             Fix For: 4.0
>
>         Attachments: 0001-SASI-Make-timeouts-easier-to-debug.patch
>
>
> This would now give something like:
> {code}
>     WARN  [ReadStage-15] 2017-06-08 12:47:57,799 AbstractLocalAwareExecutorService.java:167
- Uncaught exception on thread Thread[ReadStage-15,5,main]: {}
>     java.lang.RuntimeException: org.apache.cassandra.index.sasi.exceptions.TimeQuotaExceededException:
Command 'Read(biggraphite_metadata.directories columns=* rowfilter=component_0 = criteo limits=LIMIT
5000 range=(min(-9223372036854775808), min(-9223372036854775808)] pfilter=names(EMPTY))' took
too long (100 > 100ms).
>             at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2591)
~[main/:na]
>             at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
~[na:1.8.0_131]
>             at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:162)
~[main/:na]
>             at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:134)
[main/:na]
>             at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:109) [main/:na]
>             at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
>     Caused by: org.apache.cassandra.index.sasi.exceptions.TimeQuotaExceededException:
Command 'Read(biggraphite_metadata.directories columns=* rowfilter=component_0 = criteo limits=LIMIT
5000 range=(min(-9223372036854775808), min(-9223372036854775808)] pfilter=names(EMPTY))' took
too long (100 > 100ms).
>             at org.apache.cassandra.index.sasi.plan.QueryController.checkpoint(QueryController.java:163)
~[main/:na]
>             at org.apache.cassandra.index.sasi.plan.QueryController.getPartition(QueryController.java:117)
~[main/:na]
>             at org.apache.cassandra.index.sasi.plan.QueryPlan$ResultIterator.computeNext(QueryPlan.java:116)
~[main/:na]
>             at org.apache.cassandra.index.sasi.plan.QueryPlan$ResultIterator.computeNext(QueryPlan.java:71)
~[main/:na]
>             at org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47)
~[main/:na]
>             at org.apache.cassandra.db.transform.BasePartitions.hasNext(BasePartitions.java:92)
~[main/:na]
>             at org.apache.cassandra.db.partitions.UnfilteredPartitionIterators$Serializer.serialize(UnfilteredPartitionIterators.java:310)
~[main/:na]
>             at org.apache.cassandra.db.ReadResponse$LocalDataResponse.build(ReadResponse.java:145)
~[main/:na]
>             at org.apache.cassandra.db.ReadResponse$LocalDataResponse.<init>(ReadResponse.java:138)
~[main/:na]
>             at org.apache.cassandra.db.ReadResponse$LocalDataResponse.<init>(ReadResponse.java:134)
~[main/:na]
>             at org.apache.cassandra.db.ReadResponse.createDataResponse(ReadResponse.java:76)
~[main/:na]
>             at org.apache.cassandra.db.ReadCommand.createResponse(ReadCommand.java:333)
~[main/:na]
>             at org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1884)
~[main/:na]
>             at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2587)
~[main/:na]
>             ... 5 common frames omitted
> {code}
> Not having the query makes it super hard to debug. Even worse, because it stops potentially
before the slow_query threshold, it won't appear as one.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message