mutation_reader: Fix abort when streaming more than one range

multi_range_mutation_reader uses fast_forward_to() to skip between
ranges, so we always need to create the underlying reader with with
mutation_reader::forwarding::yes if there is more than one range,
irrespective of whether multi_range_mutation_reader itself will be
forwarded or not.

Fixes #2510.

Introduced in commit 3018df1.

Message-Id: <1497943032-18696-1-git-send-email-tgrabiec@scylladb.com>
This commit is contained in:
Tomasz Grabiec
2017-06-20 09:17:12 +02:00
committed by Avi Kivity
parent 92731eff4f
commit 358bf88cf8

View File

@@ -285,7 +285,8 @@ public:
mutation_reader::forwarding fwd_mr)
: _ranges(ranges)
, _current_range(_ranges.begin())
, _reader(source(s, *_current_range, slice, pc, trace_state, fwd, fwd_mr))
, _reader(source(s, *_current_range, slice, pc, trace_state, fwd,
_ranges.size() > 1 ? mutation_reader::forwarding::yes : fwd_mr))
{
}