[
https://issues.apache.org/jira/browse/CASSANDRA-10674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15034416#comment-15034416
]
Paulo Motta commented on CASSANDRA-10674:
-----------------------------------------
bq. I think if either 1) there are pending nodes or 2) there are no view
natural endpoints, the current MV design will not want the batchlog cleaned up
on a successful write.
I think when there is a defined natural endpoint (if it's the current node or
not)
I think, in the pending nodes case it's valid to clear the batchlog if the
write is sucessful, because it means the data was replicated correctly to the
pending endpoint that will own the range of the natural endpoint after the
range movement is completed. But in the case when there is no natural
endpoints, it simply means this node still hasn't updated its
> Materialized View SSTable streaming/leaving status race on decommission
> -----------------------------------------------------------------------
>
> Key: CASSANDRA-10674
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10674
> Project: Cassandra
> Issue Type: Bug
> Components: Coordination, Distributed Metadata
> Reporter: Joel Knighton
> Assignee: Paulo Motta
> Fix For: 3.0.1, 3.1
>
> Attachments: leaving-node-debug.log, receiving-node-debug.log
>
>
> On decommission of a node in a cluster with materialized views, it is
> possible for the decommissioning node to begin streaming sstables for an MV
> base table before the receiving node is aware of the leaving status.
> The materialized view base/view replica pairing checks pending endpoints to
> handle the case when an sstable is received from a leaving node; without the
> leaving message, this check breaks and an exception is thrown. The streamed
> sstable is never applied.
> Logs from a decommissioning node and a node receiving such a stream are
> attached.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)