[ 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-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org