[ 
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)

Reply via email to