[
https://issues.apache.org/jira/browse/CASSANDRA-10731?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15018269#comment-15018269
]
Sergio Bossa commented on CASSANDRA-10731:
------------------------------------------
Looks good to me, only a minor note: when catching {{InterruptedException}} in
{{MigrationManager#waitTillReadyForBootstrap()}}, the interrupt status should
be propagated.
Other than that, just an awareness note:
{{MigrationManager#scheduleSchemaPull()}} is only called via gossip schema
updates, which means there's no actual guarantee that by the time we call
{{MigrationManager#waitTillReadyForBootstrap()}}, we will have received any
schema updates, despite the forced announce and subsequent ring delay in
{{StorageService}}; that is, {{MigrationTask#getInflightTasks()}} could just be
empty because no gossip update was received yet, and
{{MigrationManager#waitTillReadyForBootstrap()}} would still happily return.
Anyway, if no gossip update was received after the ring delay, there isn't
probably much we can do by just waiting longer, so the only think that makes
sense is to proceed and eventually resume bootstrap later.
> Bootstrap starts before migration responses have completed
> ----------------------------------------------------------
>
> Key: CASSANDRA-10731
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10731
> Project: Cassandra
> Issue Type: Bug
> Components: Streaming and Messaging
> Reporter: Mike Adamson
> Assignee: Mike Adamson
> Fix For: 3.0.x
>
>
> We have a number of failing tests running on slow VMs that are failing
> because {{MigrationManager.isReadyForBootstrap}} is return {{true}} when
> there are still inflight responses being processed to migration requests.
> This is happening because the {{MigrationTask.runMayThrow}} has completed but
> the {{IAsyncCallback.response}} is still running.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)