[
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)