[jira] [Commented] (CASSANDRA-14058) Refactor read executor and response resolver, abstract read repair

2018-03-23 Thread Blake Eggleston (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16411706#comment-16411706
 ] 

Blake Eggleston commented on CASSANDRA-14058:
-

Thanks [~iamaleksey], I'll open a Jira next week to fix

> Refactor read executor and response resolver, abstract read repair
> --
>
> Key: CASSANDRA-14058
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14058
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Blake Eggleston
>Assignee: Blake Eggleston
>Priority: Major
> Fix For: 4.0
>
>
> CASSANDRA-10726 is stuck right now because the state of 
> {{AbstractReadExecutor}} and {{DataResolver}} make it difficult to cleanly 
> implement. It also looks like some additional read repair strategies might be 
> added. This goal of this ticket is to clean up the structure of some of the 
> read path components to make CASSANDRA-10726 doable, and additional read 
> repair strategies possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14058) Refactor read executor and response resolver, abstract read repair

2018-03-21 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16408101#comment-16408101
 ] 

Aleksey Yeschenko commented on CASSANDRA-14058:
---

Noticed a couple regressions when merging up CASSANDRA-14330:
1. {{DataResolver}} no longer uses 
{{cassandra.drop_oversized_readrepair_mutations}} prop - and 
{{DROP_OVERSIZED_READ_REPAIR_MUTATIONS}} constant is now unused, and the 
feature is missing.
2. {{RowIteratorMergeListener}} re-thrown {{AssertionError}} no longer includes 
the responses. This should be restored, as without it debugging RR issues is an 
even worse, potentially impossible, nightmare.

Nit: In {{DataResolver}}, {{repairResults}} field is now unused.

> Refactor read executor and response resolver, abstract read repair
> --
>
> Key: CASSANDRA-14058
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14058
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Blake Eggleston
>Assignee: Blake Eggleston
>Priority: Major
> Fix For: 4.0
>
>
> CASSANDRA-10726 is stuck right now because the state of 
> {{AbstractReadExecutor}} and {{DataResolver}} make it difficult to cleanly 
> implement. It also looks like some additional read repair strategies might be 
> added. This goal of this ticket is to clean up the structure of some of the 
> read path components to make CASSANDRA-10726 doable, and additional read 
> repair strategies possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14058) Refactor read executor and response resolver, abstract read repair

2018-02-14 Thread Blake Eggleston (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16364335#comment-16364335
 ] 

Blake Eggleston commented on CASSANDRA-14058:
-

I'd rebased after CASSANDRA-7544 was committed and saw some dtest failures. It 
should be committed soon, I just haven't had enough contiguous free time to get 
everything buttoned up.

> Refactor read executor and response resolver, abstract read repair
> --
>
> Key: CASSANDRA-14058
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14058
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Blake Eggleston
>Assignee: Blake Eggleston
>Priority: Major
> Fix For: 4.0
>
>
> CASSANDRA-10726 is stuck right now because the state of 
> {{AbstractReadExecutor}} and {{DataResolver}} make it difficult to cleanly 
> implement. It also looks like some additional read repair strategies might be 
> added. This goal of this ticket is to clean up the structure of some of the 
> read path components to make CASSANDRA-10726 doable, and additional read 
> repair strategies possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14058) Refactor read executor and response resolver, abstract read repair

2018-01-22 Thread Marcus Eriksson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16333985#comment-16333985
 ] 

Marcus Eriksson commented on CASSANDRA-14058:
-

+1, lgtm

> Refactor read executor and response resolver, abstract read repair
> --
>
> Key: CASSANDRA-14058
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14058
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Blake Eggleston
>Assignee: Blake Eggleston
>Priority: Major
> Fix For: 4.0
>
>
> CASSANDRA-10726 is stuck right now because the state of 
> {{AbstractReadExecutor}} and {{DataResolver}} make it difficult to cleanly 
> implement. It also looks like some additional read repair strategies might be 
> added. This goal of this ticket is to clean up the structure of some of the 
> read path components to make CASSANDRA-10726 doable, and additional read 
> repair strategies possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14058) Refactor read executor and response resolver, abstract read repair

2018-01-16 Thread Blake Eggleston (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16327956#comment-16327956
 ] 

Blake Eggleston commented on CASSANDRA-14058:
-

 
bq. Row/PartitionIteratorMergeListener has a dependency on BlockingReadRepair - 
guess this should be ReadRepair instead? Or, if the R/PIML is intended to be 
BRR specific, we should perhaps make them inner classes there?
 
They’re intended to be BlockingReadRepair specific, since the DigestReadRepair 
doesn’t do any merging. Given their size though (RIML in particular), I’d 
rather not make them inner classes. Maybe moving them into repair.blocking 
sub-package would be the way to go?
 
bq. Not a huge fan that ReadRepair has DigestResolver-specific methods - but I 
have no real improvement suggestion here - either ReadRepair has 
DigestResolver-specific logic or DigestResolver has read repair logic.
 
I think I intended that as sort of a shim that would go away after 
CASSANDRA-10726. Once the strategy is configurable, there will probably be a 
factory class or something attached to the table metadata that can handle that 
background repair case.

rebased on current trunk and pushed up with review fixes 
[here|https://github.com/bdeggleston/cassandra/tree/14058-v2]
 

> Refactor read executor and response resolver, abstract read repair
> --
>
> Key: CASSANDRA-14058
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14058
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Blake Eggleston
>Assignee: Blake Eggleston
>Priority: Major
> Fix For: 4.0
>
>
> CASSANDRA-10726 is stuck right now because the state of 
> {{AbstractReadExecutor}} and {{DataResolver}} make it difficult to cleanly 
> implement. It also looks like some additional read repair strategies might be 
> added. This goal of this ticket is to clean up the structure of some of the 
> read path components to make CASSANDRA-10726 doable, and additional read 
> repair strategies possible.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14058) Refactor read executor and response resolver, abstract read repair

2018-01-11 Thread Marcus Eriksson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16322339#comment-16322339
 ] 

Marcus Eriksson commented on CASSANDRA-14058:
-

This looks good to me in general;

A few comments/questions/bike sheds/nits;
* {{Row/PartitionIteratorMergeListener}} has a dependency on 
{{BlockingReadRepair}} - guess this should be {{ReadRepair}} instead? Or, if 
the {{R/PIML}} is intended to be {{BRR}} specific, we should perhaps make them 
inner classes there?
* For the {{HintedReadRepair}} (CASSANDRA-10726) we can share most of the code 
from {{BlockingReadRepair}} - we should probably break that out in an abstract 
class (but that should be done in 10726)
* Not a huge fan that {{ReadRepair}} has {{DigestResolver}}-specific methods - 
but I have no real improvement suggestion here - either {{ReadRepair}} has 
{{DigestResolver}}-specific logic or {{DigestResolver}} has read repair logic.
* The comment on top of {{ShortReadPartitionsProtection}} should probably go to 
{{ShortReadProtection}} as that is the natural start point of SRP
* {{BlockingReadRepair.PartitionRepair}} could be a static class by passing in 
the size of {{endpoints}} to the constructor
* The trace message on line 434 in {{AbstractReadExecutor}} should still log 
the partition key (maybe move the trace message back to 
DigestResolver#responsesMatch)
* In {{AsyncOneResponse}} we could remove {{synchronized}} on {{response(..)}} 
(nice refactoring of that class btw)
* {{get()}} in {{AsyncOneResponse}} should probably have {{@Override}}
* {{DigestResolver}} parameter in {{backgroundDigestRepair}} is unused

I wrote up a sloppy non-tested version of HintedReadRepair to get a feeling for 
the abstractions [here|] - it contains the comments above as well (in a single 
big commit, sorry)

> Refactor read executor and response resolver, abstract read repair
> --
>
> Key: CASSANDRA-14058
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14058
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Blake Eggleston
>Assignee: Blake Eggleston
> Fix For: 4.0
>
>
> CASSANDRA-10726 is stuck right now because the state of 
> {{AbstractReadExecutor}} and {{DataResolver}} make it difficult to cleanly 
> implement. It also looks like some additional read repair strategies might be 
> added. This goal of this ticket is to clean up the structure of some of the 
> read path components to make CASSANDRA-10726 doable, and additional read 
> repair strategies possible.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14058) Refactor read executor and response resolver, abstract read repair

2017-11-17 Thread Blake Eggleston (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-14058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16257694#comment-16257694
 ] 

Blake Eggleston commented on CASSANDRA-14058:
-

I have an initial approach here 
https://github.com/bdeggleston/cassandra/tree/14058 that:
* adds a {{ReadRepair}} interface, and 2 implementations: noop and blocking
* Move read repair and short read implementation details out of DataResolver
* Added a {{service.reads}} package <- any thoughts on moving the other read 
related classes from {{service}} in there?
* removes DigestMismatchException

> Refactor read executor and response resolver, abstract read repair
> --
>
> Key: CASSANDRA-14058
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14058
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Blake Eggleston
>Assignee: Blake Eggleston
> Fix For: 4.0
>
>
> CASSANDRA-10726 is stuck right now because the state of 
> {{AbstractReadExecutor}} and {{DataResolver}} make it difficult to cleanly 
> implement. It also looks like some additional read repair strategies might be 
> added. This goal of this ticket is to clean up the structure of some of the 
> read path components to make CASSANDRA-10726 doable, and additional read 
> repair strategies possible.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org