cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeremiah Jordan (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-13797) RepairJob blocks on syncTasks
Date Wed, 14 Mar 2018 12:56:00 GMT


Jeremiah Jordan commented on CASSANDRA-13797:

[~KurtG] when a ticket has already gone out in a release we prefer to open a brand new ticket
rather than re-open an existing one, as fix versions get confusing if you re-open and already
released ticket.

> RepairJob blocks on syncTasks
> -----------------------------
>                 Key: CASSANDRA-13797
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Repair
>            Reporter: Blake Eggleston
>            Assignee: Blake Eggleston
>            Priority: Major
>             Fix For: 3.0.15, 3.11.1, 4.0
> The thread running {{RepairJob}} blocks while it waits for the validations it starts
to complete ([see here|]).
However, the downstream callbacks (ie: the post-repair cleanup stuff) aren't waiting for {{RepairJob#run}}
to return, they're waiting for a result to be set on RepairJob the future, which happens after
the sync tasks have completed. This post repair cleanup stuff also immediately shuts down
the executor {{RepairJob#run}} is running in. So in noop repair sessions, where there's nothing
to stream, I'm seeing the callbacks sometimes fire before {{RepairJob#run}} wakes up, and
causing an {{InterruptedException}} is thrown.
> I'm pretty sure this can just be removed, but I'd like a second opinion. This appears
to just be a holdover from before repair coordination became async. I thought it might be
doing some throttling by blocking, but each repair session gets it's own executor, and validation
is  throttled by the fixed size executors doing the actual work of validation, so I don't
think we need to keep this around.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message