cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paulo Motta (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-10347) Bulk Loader API could not tolerate even node failure
Date Fri, 18 Sep 2015 23:14:04 GMT


Paulo Motta commented on CASSANDRA-10347:

Unfortunately it's not trivial to tolerate node failures transparently, as this would require
submitting hints or expecting clients to perform anti-entropy (repairs) after the node is
back. In order to allow the client to ignore down nodes, I added option {{mapreduce.output.bulkoutputformat.ignorehosts}}
to allow blacklisting down nodes, so they would know in advance it needs to run repair after
the down node is back. Also added helper methods to {{CqlBulkOutputFormat}}: {{setIgnoreHosts}}
and {{getIgnoreHosts}}.

Attaching 2.1 and 2.2+ patches. Tests will be available below:
* [2.1 dtests|]
* [2.1 testall|]
* [2.2 dtests|]
* [2.2 testall|]
* [3.0 dtests|]
* [3.0 testall|]
* [trunk dtests|]
* [trunk testall|]

> Bulk Loader API could not tolerate even node failure
> ----------------------------------------------------
>                 Key: CASSANDRA-10347
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Shenghua Wan
>            Assignee: Paulo Motta
> When user uses CqlBulkOutputFormat, it tries to stream to all the nodes in the token
range, which includes the dead nodes. Therefore, the stream failed. There was a design in
C* API to allow stream() method to have a list of ignore hosts, but it was not utilized.
> The empty-argument stream() method is called in all existing versions of C*, i.e.
> in v2.0.11,
> in v2.1.5,
> and current trunk branch

This message was sent by Atlassian JIRA

View raw message