cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-13794) Fix short read protection logic for querying more rows
Date Wed, 20 Sep 2017 17:00:09 GMT


Aleksey Yeschenko commented on CASSANDRA-13794:

Committed to 3.0 as [f93e6e3401c343dec74687d8b079b5697813ab28|]
and merged with 3.11 and trunk.

Circle run for 3.0 [here|] has two completely
unrelated {{CommitLogSegmentManagerTest}} failures, and [dtest run|]
here is mostly failures to git clone.

The passing tests include the 3 new dtests added since this JIRA was created. My initial plan
was to cover it with proper unit tests, too - similar to read repair tests we have - but doing
it properly has proven to be too time consuming. In addition to the tests we have, I did a
lot of manual testing (which uncovered a couple more issues - not affecting my branch). But
more unit test coverage will be added later - we've budgeted a significant chunk of time on
{{DataResolver}} testing alone.

Follow up JIRAs I'll file soonish. Thanks for the review! 

> Fix short read protection logic for querying more rows
> ------------------------------------------------------
>                 Key: CASSANDRA-13794
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Coordination
>            Reporter: Benedict
>            Assignee: Aleksey Yeschenko
>              Labels: Correctness
>             Fix For: 3.0.15, 3.11.1
> Discovered by [~benedict] while reviewing CASSANDRA-13747:
> {quote}
> While reviewing I got a little suspicious of the modified line {{DataResolver}} :479,
as it seemed that n and x were the wrong way around... and, reading the comment of intent
directly above, and reproducing the calculation, they are indeed.
> This is probably a significant enough bug that it warrants its own ticket for record
keeping, though I'm fairly agnostic on that decision.
> I'm a little concerned about our current short read behaviour, as right now it seems
we should be requesting exactly one row, for any size of under-read, which could mean extremely
poor performance in case of large under-reads.
> I would suggest that the outer unconditional {{Math.max}} is a bad idea, has been (poorly)
insulating us from this error, and that we should first be asserting that the calculation
yields a value >= 0 before setting to 1.
> {quote}

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message