Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-19403

system keyspace accesses are counted towards ClientRequestMetrics

Agile BoardAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsAdd voteVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Triage Needed
    • Low
    • Resolution: Unresolved
    • None
    • Observability/Metrics
    • None
    • Correctness - API / Semantic Implementation
    • Low
    • Unit Test
    • All
    • None

    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)

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned Assign to me
            jakubzytka Jakub Zytka

            Dates

              Created:
              Updated:

              Slack

                Issue deployment