[
https://issues.apache.org/jira/browse/CASSANDRA-6477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14632402#comment-14632402
]
T Jake Luciani commented on CASSANDRA-6477:
-------------------------------------------
bq. If the base table update on a replica has been updated, but its paired MV
has not, it doesn't matter what the coordinator does with replay, as the base
replica will not apply any delta.
I think you two are missing something about the current implementation. This
problem of updating the base but not the MV is why we added the *second* local
batchlog for the Base to MV mutations.
When the mutation comes into the base replica.
* Get lock for partition
* Generate the delta mutations for the paired view replica
* Update the base replica commit log
* Write the delta mutations for the paired MV replia on the local base BL
* Fire the mutations to the paired MV replica async
* Update the base memtable
We know the data will eventually get to the paired MV because of the batchlog.
That's why we can send the MV updates async.
------
> Materialized Views (was: Global Indexes)
> ----------------------------------------
>
> Key: CASSANDRA-6477
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6477
> Project: Cassandra
> Issue Type: New Feature
> Components: API, Core
> Reporter: Jonathan Ellis
> Assignee: Carl Yeksigian
> Labels: cql
> Fix For: 3.0 beta 1
>
> Attachments: test-view-data.sh, users.yaml
>
>
> Local indexes are suitable for low-cardinality data, where spreading the
> index across the cluster is a Good Thing. However, for high-cardinality
> data, local indexes require querying most nodes in the cluster even if only a
> handful of rows is returned.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)