cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-10198) 3.0 hints should be streamed on decomission
Date Fri, 18 Sep 2015 13:23:04 GMT


Aleksey Yeschenko commented on CASSANDRA-10198:

The patch is good as is, almost, with the exception of one issue: if hints dispatch were paused,
transfer wouldn't work, so we need to explicitly resume dispatch before doing all this, just
in case.

Otherwise the suggestions I pushed [here|]
are mostly cosmetic, and we can commit without them:

1. moved checking for catalog emptiness to {{HintsCatalog::hasFiles}}, closer to the data,
and to match {{HintsStore::hasFiles}}
2. renamed 'decommission' to 'transfer'
3. removed the {{hasFiles}} filter as it's redundant - if there are no files to stream, {{DispatchHintsTask::run}}
will simply be a NOOP
4. for consistency with {{HintsDispatcher}} itself, only retry once on failure (after a fixed
delay of 10 seconds, here)

> 3.0 hints should be streamed on decomission
> -------------------------------------------
>                 Key: CASSANDRA-10198
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Aleksey Yeschenko
>            Assignee: Marcus Eriksson
>             Fix For: 3.0.0 rc1
> CASSANDRA-6230 added all the necessary pieces in the initial release, but streaming itself
didn't make it in time.
> Now that hints are stored in flat files, we cannot just stream hints sstables. Instead
we need to handoff hints files.
> Essentially we need to rewrite {{StorageService::streamHints}} to be CASSANDRA-6230 aware.
> {{HintMessage}} and {{HintVerbHandler}} can already handle hints targeted for other nodes
(see javadoc for both, it's documented reasonably).
> {{HintsDispatcher}} also takes hostId as an argument, and can stream any hints to any
> The building blocks are all there - we just need {{StorageService::streamHints}} to pick
the optimal candidate for each file and use {{HintsDispatcher}} to stream the files.

This message was sent by Atlassian JIRA

View raw message