Jakub Zytka created CASSANDRA-19403:
---------------------------------------

             Summary: system keyspace accesses are counted towards 
ClientRequestMetrics
                 Key: CASSANDRA-19403
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19403
             Project: Cassandra
          Issue Type: Bug
          Components: Observability/Metrics
            Reporter: Jakub Zytka


Mutating system keyspaces by the internal processes bumps ClientRequestMetrics.

For example, creating a MV makes updates to 
`system_distributed.view_build_status`.
Changing status of MV building will be counted towards writeMetrics.

Example stacktrace of MV build status update, which triggers 
StorageProxy.mutate which unconditionally bumps (client) `writeMetrics`:
{{        at 
org.apache.cassandra.service.StorageProxy.mutate(StorageProxy.java:1095)}}
{{        at 
org.apache.cassandra.service.StorageProxy.mutateWithTriggers(StorageProxy.java:1290)}}
{{        at 
org.apache.cassandra.cql3.statements.ModificationStatement.executeWithoutCondition(ModificationStatement.java:503)}}
{{        at 
org.apache.cassandra.cql3.statements.ModificationStatement.execute(ModificationStatement.java:483)}}
{{        at 
org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:290)}}
{{        at 
org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:400)}}
{{        at 
org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:406)}}
{{        at 
org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:424)}}
{{        at 
org.apache.cassandra.repair.SystemDistributedKeyspace.successfulViewBuild(SystemDistributedKeyspace.java:322)}}
{{        at 
org.apache.cassandra.db.view.ViewBuilder.updateDistributed(ViewBuilder.java:219)}}
{{        at 
org.apache.cassandra.db.view.ViewBuilder.finish(ViewBuilder.java:212)}}
{{        at 
org.apache.cassandra.db.view.ViewBuilder.build(ViewBuilder.java:153)}}
{{        at 
org.apache.cassandra.db.view.ViewBuilder$1.onSuccess(ViewBuilder.java:187)}}
{{        at 
org.apache.cassandra.db.view.ViewBuilder$1.onSuccess(ViewBuilder.java:181)}}
{{        at 
com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1062)}}
{{        at 
com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30)}}
{{        at 
com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1138)}}
{{        at 
com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:958)}}
{{        at 
com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:726)}}
{{        at 
com.google.common.util.concurrent.CollectionFuture$CollectionFutureRunningState.handleAllCompleted(CollectionFuture.java:71)}}
{{        at 
com.google.common.util.concurrent.AggregateFuture$RunningState.processCompleted(AggregateFuture.java:257)}}
{{        at 
com.google.common.util.concurrent.AggregateFuture$RunningState.decrementCountAndMaybeComplete(AggregateFuture.java:244)}}
{{        at 
com.google.common.util.concurrent.AggregateFuture$RunningState.access$300(AggregateFuture.java:92)}}
{{        at 
com.google.common.util.concurrent.AggregateFuture$RunningState$1.run(AggregateFuture.java:149)}}
{{        at 
com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30)}}
{{        at 
com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:141)}}
{{        at 
com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:130)}}
{{        at 
com.google.common.util.concurrent.ListenableFutureTask.done(ListenableFutureTask.java:86)}}
{{        at 
java.base/java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:381)}}
{{        at 
java.base/java.util.concurrent.FutureTask.set(FutureTask.java:232)}}
{{        at 
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:272)}}
{{        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)}}
{{        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)}}
{{        at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)}}
{{        at java.base/java.lang.Thread.run(Thread.java:829)}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to