[ 
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

Reply via email to