[ 
https://issues.apache.org/jira/browse/CASSANDRA-13606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17125876#comment-17125876
 ] 

Andres de la Peña commented on CASSANDRA-13606:
-----------------------------------------------

bq. Not sure why index needs to skip writes when its build failed...if no index 
uses `LoadType read/no_op`, having `writableIndex` is giving extra overhead..

[~jasonstack] those writes will be replayed during rebuild, so it seems 
pointless to process them twice. None current implementation make use of this, 
but we might change that in a followup ticket, as an improvement. There's also 
the idea of making the entire write fail, but it seems that that would have 
more serious implications for availability, especially if the coordinator is 
not aware of index availability.

bq. Perhaps we should unify both {{queryableIndex}} and {{writableIndex}} into 
{{indexStatus}}, aka. {{Map<String, LoadType>}}.

Sounds like a good idea.

> Improve handling of 2i initialization failures
> ----------------------------------------------
>
>                 Key: CASSANDRA-13606
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13606
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Feature/2i Index
>            Reporter: Sergio Bossa
>            Assignee: Berenguer Blasi
>            Priority: Normal
>             Fix For: 4.0-alpha5
>
>          Time Spent: 8h 40m
>  Remaining Estimate: 0h
>
> CASSANDRA-10130 fixes the 2i build management, but initialization failures 
> are still not properly handled, most notably because:
> * Initialization failures make the index non-queryable, but it can still be 
> written to.
> * Initialization failures can be recovered via full rebuilds.
> Both points above are probably suboptimal because the initialization logic 
> could be more complex than just an index build, hence it shouldn't be made 
> recoverable via a simple rebuild, and could cause the index to be fully 
> unavailable not just for reads, but for writes as well.
> So, we should better handle initialization failures by:
> * Allowing the index implementation to specify if unavailable for reads, 
> writes, or both. 
> * Providing a proper method to recover, distinct from index rebuilds.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to