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

Sam Tunnicliffe commented on CASSANDRA-12039:
---------------------------------------------

bq.I think this is ok, as the node will have already joined the ring, and this 
is mainly a pre-join callback.

A failed bootstrap causes the node to remain in the {{JOINING}} state until 
successfully resumed. When it does finally succeed though, it follows the same 
code path as leaving survey mode, so fixing that should also take care of this.

bq.I provided an inline "null" implementation similar to what happens with 
other get*Task methods, what should I do differently?

The impl that you added to {{CassandraIndex}} should be moved to {{Index}}, 
making it a {{default}} method on the iface so that adding that same 
implementation to every custom 2i is not necessary.


> Add an index callback to be notified post bootstrap and before joining the 
> ring
> -------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-12039
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12039
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Sergio Bossa
>            Assignee: Sergio Bossa
>
> Custom index implementations might need to be notified when the node finishes 
> bootstrapping in order to execute some blocking tasks before the node itself 
> goes into NORMAL state.
> This is a proposal to add such functionality, which should roughly require 
> the following:
> 1) Add a {{getPostBootstrapTask}} callback to the {{Index}} interface.
> 2) Add an {{executePostBootstrapBlockingTasks}} method to 
> {{SecondaryIndexManager}} calling into the previously mentioned callback.
> 3) Hook that into {{StorageService#joinTokenRing}}.
> Thoughts?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to