[
https://issues.apache.org/jira/browse/CASSANDRA-10130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16034963#comment-16034963
]
Sergio Bossa commented on CASSANDRA-10130:
------------------------------------------
bq. It's still possible that an index is created after the
SSTableAddedNotification but before all sstables are added to the tracker
That made me also think of an ABA-like race, where a new index is registered
_and built_ in-between the two notifications, causing it to miss the
new-to-be-added sstables. Weird stuff, and overall excellent points
[~pauloricardomg].
Given most of the races come from the 2-phase event-based solution, I'd say to
simplify it in a way that still at least solves the original issue: that is,
keep just the {{SSTableAddedNotification}}, and mark the index building/built
around that; this will not protect against failures happening _while_ adding
SSTables, but again, it would at least solve the original problem of the index
itself failing after adding the SSTables and missing to rebuild. Then, we can
think about a more complete solution (i.e. one that doesn't rebuild the whole
index because of a single failed stream) in another ticket.
Thoughts?
> 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: [email protected]
For additional commands, e-mail: [email protected]