cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paulo Motta (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-10674) Materialized View SSTable streaming/leaving status race on decommission
Date Tue, 01 Dec 2015 19:48:11 GMT


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 and pending endpoints 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. Do you agree with that [~jkni]?

What I'd like to understand better is why we write to the local batchlog when the local node
is not a replica of the base mutation? Is it because the local node is probably a pending
endpoint that will eventually become a base replica? In this case we probably shouldn't clear
the batchlog after writing so the view will be replicated correctly to the natural endpoints
once the local node becomes a base replica.

[~tjake] [~carlyeks] would you mind clarifying this?

> Materialized View SSTable streaming/leaving status race on decommission
> -----------------------------------------------------------------------
>                 Key: CASSANDRA-10674
>                 URL:
>             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

View raw message