cassandra-commits mailing list archives

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

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

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|https://github.com/iamaleksey/cassandra/commit/be5c42ef184dd98c4b7bf812b407ad920685aa5f]
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: https://issues.apache.org/jira/browse/CASSANDRA-10198
>             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
nodes.
> 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
(v6.3.4#6332)

Mime
View raw message