[ https://issues.apache.org/jira/browse/CASSANDRA-19403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jakub Zytka updated CASSANDRA-19403: ------------------------------------ Description: 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 client 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)}} was: 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)}} > 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 > Priority: Low > > 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 client 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: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org