[
https://issues.apache.org/jira/browse/CASSANDRA-10130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16038692#comment-16038692
]
Sergio Bossa commented on CASSANDRA-10130:
------------------------------------------
bq. Sorry for being picky here but while we are fixing the original limitation,
we are introducing a new limitation that if there's ever a non-fatal index
build failure, a successful full index rebuild will not mark the index as built
until the node is restarted and the index is unnecessarily rebuilt.
Excellent point, you're not being picky at all. There's actually a related
problem: if a single sstable indexing fails, we restart the node, and try to
load a *new* sstable, the index will be marked as built, even if there's an
sstable whose indexing failed.
In other words, it seems to me we should mark the index as built _only_ if:
1) It is a full rebuild.
2) It is an initialization task (which should be considered as the initial full
build).
3) It is a single/group sstable(s) indexing, and the index was *already built*:
that is, if we initiate an sstable indexing, but the index was *not* marked as
built, we should preserve such state (that implementation-wise probably means
to just keep the counters at 0 and avoid any marking).
Other than that, I have a concern about [flushing indexes in the future
transformation|https://github.com/apache/cassandra/compare/trunk...adelapena:10130-trunk#diff-3f2c8994c4ff8748c3faf7e70958520dR399],
which would cause such blocking activity to happen in the compaction thread, a
departure from previous behaviour and probably an unwanted one.
> 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]