Using the following command to enable the option will cause true to be
passed for the do_redundant_reads arg.
To enable:
ceph osd pool set <poolname> fast_read 1
To disable:
ceph osd pool set <poolname> fast_read 0
David
On 4/21/17 6:20 AM, Sage Weil wrote:
On Fri, 21 Apr 2017, Elita Lobo wrote:
Hi,
We were going through get_min_avail_to_read_shards function and we had
a query regarding the same.
int get_min_avail_to_read_shards(
const hobject_t &hoid, ///< [in] object
const set<int> &want, ///< [in] desired shards
bool for_recovery, ///< [in] true if we may use non-acting replicas
bool do_redundant_reads, ///< [in] true if we want to issue
redundant reads to reduce latency
//set<pg_shard_t> *to_read ///< [out] shards to read
//); ///< @return error code, 0 on success
map<pg_shard_t, list<pair<int,int>>> *to_read);
In which all cases is do_redundant_reads flag set and what is the
purpose of this flag?
The idea is that if you have a k+m code, you read all k+m shards (not just
k of them), and use whatever replies come back first to assemble or
recover the data block. It helps reduce tail latency on EC pools by
preventing the slowest responder from delaying the reply (as long as the
slowest responder isn't the primary).
sage
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html