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