[
https://issues.apache.org/jira/browse/CASSANDRA-16548?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Brandon Williams updated CASSANDRA-16548:
-----------------------------------------
Change Category: Semantic
Complexity: Low Hanging Fruit
Component/s: Local/Other
Fix Version/s: 4.0.x
Status: Open (was: Triage Needed)
> Remove ViewMutationStage as its unused
> --------------------------------------
>
> Key: CASSANDRA-16548
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16548
> Project: Cassandra
> Issue Type: Improvement
> Components: Local/Other
> Reporter: Cameron Zemek
> Priority: Normal
> Fix For: 4.0.x
>
>
> I been testing and tracing the code and as far as I can determine
> ViewMutationStage is unused. Looking at StorageProxy::mutateMV if the MV
> mutation is on same endpoint as the base table endpoint it calls
> mutation.apply(writeCommitLog); which happens on MutationStage.
> If the endpoint is a different endpoint it ends with call to
> asyncWriteBatchedMutations(wrappers, localDataCenter, Stage.VIEW_MUTATION);
> which in turn calls sendToHintedReplicas. But this method only uses the
> passed in stage if executing locally, which in case of the MV mutations is
> never true in my testing.
> So it passes message with MUTATION_REQ which gets handled on the receiving
> node via MutationStage.
> So at no point does the ViewMutationStage get used. I even tried to execute
> some of the View tests that check for pending tasks on this stage. Well there
> never even a completed task on that stage so these tests seem to wait on
> ViewMutationStage for no reason as best I can tell.
> Even if the stage is used somewhere, its not used for all view mutations. So
> this stage is currently in my opinion code bloat and just confusing for the
> system operator.
>
> An alternative solution to this ticket would be to implement
> VIEW_MUTATION_REQ etc and have everything MV mutation related run on the
> ViewMutationStage but that no easy change to make. See CounterMutation for
> example.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]