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

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

[~beobal],

I've updated the patch to make it work when joining after survey mode as 
described above, and added dtests for all cases (hopefully), here are the 
updated links:

|[3.0 
patch|https://github.com/apache/cassandra/compare/cassandra-3.0...sbtourist:CASSANDRA-12039-3.0?expand=1]|
 [dtests 
patch|https://github.com/riptano/cassandra-dtest/compare/master...sbtourist:CASSANDRA-12039?expand=1]|
 [dtests 
run|https://cassci.datastax.com/view/Dev/view/sbtourist/job/sbtourist-CASSANDRA-12039-3.0-dtest/]|[testall
 
run|https://cassci.datastax.com/view/Dev/view/sbtourist/job/sbtourist-CASSANDRA-12039-3.0-testall/]|

Regarding the second problem described above, moving the "ring wait" and 
"migrations wait" outside of the bootstrap block is probably too invasive for 
this narrow case, so I ended up ignoring it, assuming that if the 2i is 
migrated after the node joins, the callback will have nothing to do (basically 
treating it the same way as if a new table were created).

> 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