cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ZhaoYang (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-13073) Optimize repair behaviour with MVs
Date Sun, 23 Jul 2017 15:19:00 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-13073?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

ZhaoYang updated CASSANDRA-13073:
---------------------------------
    Component/s: Materialized Views

> Optimize repair behaviour with MVs
> ----------------------------------
>
>                 Key: CASSANDRA-13073
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13073
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Materialized Views
>            Reporter: Benjamin Roth
>
> I am referring to a discusson on the dev list about the MV streaming issues discussed
in 12888.
> It turned out that under some circumstances, repairing MVs can lead to inconsistencies.
To remove that inconsistencies, it is necessary, to repair the base table first and then the
MV again. These inconsistencies can be created both by read repair or CF/Keyspace repair.
> Proposition:
> - Exclude MVs from keyspace repairs
> - Disable read repairs on MVs or transform them to a read repair of the base table (maybe
complicated but possible)
> Explanation:
> - CF base has PK a and field b
> - MV has PK a, b
> - 2 nodes n1 + n2, no hints
> - Initial state is a=1,b=1 at time t=0
> - Node n2 goes down
> - Mutation a=1, b=2 at time t=1
> - Node n2 comes up and node n1 goes down
> - Mutation a=1, b=3 at time t=2
> - Node n1.mv contains: a1=1, b=3 + tombstone for a1=1,b=1
> - Node n2.mv contains: a1=1, b=2 + tombstone for a1=1,b=1
> When doing a repair on mv _before_ repairing base, mv would look like:
> - Node n1.mv contains: a1=1, b=3 + tombstone for a1=1,b=1 + a1=1, b=2
> - Node n2.mv contains: a1=1, b=2 + tombstone for a1=1,b=1 + a1=1, b=3
> Repairing _only_ the base table would create the correct result:
> - Node n1.mv contains: a1=1, b=3 + tombstone for a1=1,b=1 + tombstone for a1=1,b=2
> - Node n2.mv contains: a1=1, b=3 + tombstone for a1=1,b=1 (TS for a1=2,b=2 should not
have been created as b=3 was there, which shadows b=2 and should not reach the MV at all)
> All this does not apply if CASSANDRA-13066 will be implemented and enabled



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message