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

Stefan Podkowinski commented on CASSANDRA-13569:
------------------------------------------------

Ideally there would only be a single in-flight migration request for any schema 
ID and from there we'd go on and do the next request if any schema IDs still 
don't match. But this would require some more significant changes compared to 
the initially proposed patch, as we'd have to track pending requests based on 
schema ID and handle timeout/retry semantics. As I understand, [~iamaleksey] is 
going to implement consistent ordering for schema changes anyways in 
CASSANDRA-10699.

I'd really leave the patch as is for now to focus on avoiding scheduling schema 
pulls from the same endpoint multiple times.

> Schedule schema pulls just once per endpoint
> --------------------------------------------
>
>                 Key: CASSANDRA-13569
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13569
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Distributed Metadata
>            Reporter: Stefan Podkowinski
>            Assignee: Stefan Podkowinski
>             Fix For: 3.0.x, 3.11.x, 4.x
>
>
> Schema mismatches detected through gossip will get resolved by calling 
> {{MigrationManager.maybeScheduleSchemaPull}}. This method may decide to 
> schedule execution of {{MigrationTask}}, but only after using a 
> {{MIGRATION_DELAY_IN_MS = 60000}} delay (for reasons unclear to me). 
> Meanwhile, as long as the migration task hasn't been executed, we'll continue 
> to have schema mismatches reported by gossip and will have corresponding 
> {{maybeScheduleSchemaPull}} calls, which will schedule further tasks with the 
> mentioned delay. Some local testing shows that dozens of tasks for the same 
> endpoint will eventually be executed and causing the same, stormy behavior 
> for this very endpoints.
> My proposal would be to simply not schedule new tasks for the same endpoint, 
> in case we still have pending tasks waiting for execution after 
> {{MIGRATION_DELAY_IN_MS}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to