[
https://issues.apache.org/jira/browse/CASSANDRA-10731?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15011615#comment-15011615
]
Mike Adamson commented on CASSANDRA-10731:
------------------------------------------
The proposed solution for this is as follows.
{{MigrationTask}} maintains a queue of {{CountdownLatch}} that complete as each
response callback completes. {{MigrationManager.isReadyForBootstrap}} returns
{{true}} if the queue is empty. If the queue is not empty then a new method
{{MigrationManager.waitTillReadyForBootstrap}} is called by {{StorageService}}.
This waits on each latch in the queue until they complete. The wait uses a
system property {{cassandra.migration_task_wait_in_seconds}} defined timeout
which defaults to 1 second.
||3.0||3.1||trunk||
|[branch|https://github.com/mike-tr-adamson/cassandra/tree/10731-3.0]|[branch|https://github.com/mike-tr-adamson/cassandra/tree/10731-3.1]|[branch|https://github.com/mike-tr-adamson/cassandra/tree/10731-trunk]|
|[testall|http://cassci.datastax.com/view/Dev/view/madamson/job/mike-tr-adamson-10731-3.0-testall/]|[testall|http://cassci.datastax.com/view/Dev/view/madamson/job/mike-tr-adamson-10731-3.1-testall/]|[testall|http://cassci.datastax.com/view/Dev/view/madamson/job/mike-tr-adamson-10731-trunk-testall/]|
|[dtests|http://cassci.datastax.com/view/Dev/view/madamson/job/mike-tr-adamson-10731-3.0-dtest/]|[dtests|http://cassci.datastax.com/view/Dev/view/madamson/job/mike-tr-adamson-10731-3.1-dtest/]|[dtests|http://cassci.datastax.com/view/Dev/view/madamson/job/mike-tr-adamson-10731-trunk-dtest/]|
> 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)