[
https://issues.apache.org/jira/browse/CASSANDRA-12039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15403873#comment-15403873
]
Sergio Bossa commented on CASSANDRA-12039:
------------------------------------------
I'm writing dtests for all cases requiring a call to the pre-join task, and I
noticed the following:
1) There's a bootstrap test ({{bootstrap_on_write_survey_test}}) that
explicitly verifies the bootstrap state is left in progress after survey mode,
so it seems to me we can actually rely on it to signal the bootstrap status on
joining; pinging again [~brandon.williams] for feedback.
2) There's one more problem related to calling the pre-join task when joining
*without* bootstrapping; in such case, the node doesn't wait for the migrations
to complete (that is, {{MigrationManager#waitUntilReadyForBootstrap()}} is
called only if bootstrapping), so it misses to wait for the new schema
containing the column family, and no task is invoked. Should we run the
{{MigrationManager}} checks regardless if the node is actually streaming or not
(I'd say so)? /cc [~beobal] [~iamaleksey]
> 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)