You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sergio Bossa (JIRA)" <ji...@apache.org> on 2016/07/19 19:54:20 UTC

[jira] [Commented] (CASSANDRA-12039) Add an index callback to be notified post bootstrap and before joining the ring

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

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

[~beobal],

thanks for your comments, see my answers below:

bq. Pre-join tasks are not executed if a node is started in write survey mode and then fully joins the ring later.

Good point, I can fix this.

bq. If bootstrap fails and is subsequently resumed, pre-join tasks are not executed on its completion.

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

bq. Index::getPreJoinTask should have a default no-op implementation

I'm not sure I get this: I provided an inline "null" implementation similar to what happens with other {{get*Task}} methods, what should I do differently?

bq. I think it would be sufficient to add some debug logging to StorageService::executePreJoinTasks and check for that in the node logs.

Sure I can do that.

> 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)