[ https://issues.apache.org/jira/browse/CASSANDRA-10130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16006528#comment-16006528 ]
Paulo Motta edited comment on CASSANDRA-10130 at 5/11/17 2:44 PM: ------------------------------------------------------------------ The approach looks mostly good, great job! I was thinking we could perhaps merge the {{IndexInfo}} and {{indexes_to_rebuild}} table into a single {{index_build_status}} table, which has the same schema as {{IndexInfo}} plus an additional {{status}} field with the possible values and implications: * {{not_built}} or not present: throws unavailable exception when queried * {{built}}: serves requests normally * {{rebuilding}}: serves requests normally on already started node, rebuild on restart. * {{needs_rebuild}}: serves requests normally on already started node while printing a periodic message asking the user to run a manual rebuild, rebuilds on restart. WDYT? We would need to deprecate the {{IndexInfo}} table for a couple of major versions and also require a migration of values from the {{IndexInfo}} to the {{index_build_status}} table though, see {{LegacyHintsMigrator}} and {{LegacyBatchlogMigrator}} - we should at some point generalize these migrations. was (Author: pauloricardomg): The approach looks mostly good, great job! I was thinking we could perhaps merge the {{IndexInfo}} and {{indexes_to_rebuild}} table into a single {{index_build_status}}, which has the same schema as {{indexes_to_rebuild}} plus an additional {{status}} field with the possible values and implications: * {{not_built}} or not present: throws unavailable exception when queried * {{built}}: serves requests normally * {{rebuilding}}: serves requests normally on already started node, rebuild on restart. * {{needs_rebuild}}: serves requests normally on already started node while printing a periodic message asking the user to run a manual rebuild, rebuilds on restart. WDYT? We would need to deprecate the {{IndexInfo}} table for a couple of major versions and also require a migration of values from the {{IndexInfo}} to the {{index_build_status}} table though, see {{LegacyHintsMigrator}} and {{LegacyBatchlogMigrator}} - we should at some point generalize these migrations. > Node failure during 2i update after streaming can have incomplete 2i when > restarted > ----------------------------------------------------------------------------------- > > Key: CASSANDRA-10130 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10130 > Project: Cassandra > Issue Type: Bug > Components: Coordination > Reporter: Yuki Morishita > Assignee: Andrés de la Peña > Priority: Minor > > Since MV/2i update happens after SSTables are received, node failure during > MV/2i update can leave received SSTables live when restarted while MV/2i are > partially up to date. > We can add some kind of tracking mechanism to automatically rebuild at the > startup, or at least warn user when the node restarts. -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org