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

Sergio Bossa commented on CASSANDRA-12039:
------------------------------------------

[~beobal],

I've pushed one more commit addressing your latest points, and I'll look into 
writing any dtests. Also:

bq. One thing that we should note is that when pre-join tasks are executed as a 
result of manually joining (i.e. start in write survey mode, then join via 
nodetool/JMX), the value of the bootstrap flag is always false. Obviously, this 
might not always be accurate as a node can perfectly well start up in survey 
mode but also perform bootstrap before an operator joins it. Short of exposing 
the overload of joinRing and extending the nodetool join command, I'm not sure 
there's any practical solution to this.

I think we could actually leverage the bootstrap state, which is left pending 
at {{IN_PROGRESS}} during write survey and then set at {{COMPLETED}} when 
finally joining. But, I'm not really sure why the write survey mode works that 
way, that is why the bootstrap state is left in progress, and I don't want to 
rely on some unintentional behaviour: any ideas, [~brandon.williams]?

> 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