[
https://issues.apache.org/jira/browse/CASSANDRA-13603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16147802#comment-16147802
]
Blake Eggleston commented on CASSANDRA-13603:
---------------------------------------------
I think the current state of {{MerkleTree.differenceHelper}} is sort of the
wrong approach for what it's trying to do in general. The current
implementation has weird edge cases like this, and is too complex and difficult
to follow. Also, it shares some of it's responsibilities with {{difference}}.
Really, we're just trying to recursively compare these trees and record the
largest contiguous out of sync ranges. The only complication here is that a
given invocation of the method doesn't know if it's adjacent range is also out
of sync, so it has to defer to the caller to do something if it's range is
{{FULLY_INCONSISTENT}}. I put together an alternate implementation
[here|https://github.com/bdeggleston/cassandra/tree/differencer-cleanup].
Having said all that, those changes are out of scope for this ticket and 3.0,
so I'm +1 on the changes as proposed, and will open another ticket to refactor
differece/differenceHelper.
> Change repair midpoint logging from CASSANDRA-13052
> ----------------------------------------------------
>
> Key: CASSANDRA-13603
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13603
> Project: Cassandra
> Issue Type: Bug
> Components: Streaming and Messaging
> Reporter: Jeff Jirsa
> Assignee: Jeff Jirsa
> Priority: Trivial
> Fix For: 3.0.x, 3.11.x, 4.x
>
>
> In CASSANDRA-13052 , we changed the way we handle repairs on small ranges to
> make them more sane in general, but {{MerkleTree.differenceHelper}} now
> erroneously logs at error.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]