When is ViewMutationStage ever used? I am trying to have a test that will
result in tasks getting executed in this stage to verify metrics for
ViewMutuationStage.

I been going through the code and see in StorageProxy::mutateMV it will
call:

asyncWriteBatchedMutations(wrappers, localDataCenter, Stage.VIEW_MUTATION);

if the MV endpoint is not this endpoint. This ends up leading to call to
StorageProxy::sendToHintedReplicas

But it will only use that stage if performing locally. I haven't come up
with situation where its ever going to perform locally here. So I never get
a single task on ViewMutationStage as it will send messages with verb
MUTATION_REQ that are handled on MutationStage.

Considering local MV mutations are executed on MUTATION stage and anything
non local in sendToHintedReplicas also will end up on MUTATION stage, what
is the purpose of this ViewMutationStage ? Even if it got to execute
something on that stage its very specific conditions. Seems like this stage
should be removed.. or everything in StorageProxy::mutateMV should be using
the stage as the name implies.

Reply via email to