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

Blake Eggleston commented on CASSANDRA-14118:
---------------------------------------------

I figure I should explain what I meant by my last comment without making you 
wait for the review of CASSANDRA-14117. In the case of this ticket, I'd avoid 
hollowing out ColumnFamilyStore. I spoke with [~jasobrown] about this in person 
earlier this week, and the general structure we thinking of would keep the core 
storage components that are used by multiple systems and operations in CFS. The 
CFS would also instantiate and return implementation specific "Handler" 
classes. StreamHandler, ReadHandler, WriteHandler, etc. Those classes would 
implement the logic specific to those operations by interacting with the 
storage components contained in CFS. Once the other tickets are completed, if 
we've done a good enough job of abstracting things, we should be able to move 
CFS to 
 CassandraColumnFamilyStore or something, and be replace it with an interface 
that just provides those handler classes.

So in the case of this ticket, you probably just need to create a write handler 
class that implements {{apply}}, and do the same for {{Keyspace}}. WDYT?

> Refactor write path
> -------------------
>
>                 Key: CASSANDRA-14118
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14118
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: Core
>            Reporter: Dikang Gu
>            Assignee: Dikang Gu
>            Priority: Major
>
> As part of the pluggable storage engine effort, we'd like to modularize the 
> write path related code, make it to be independent from existing storage 
> engine implementation details.
> For now, refer to 
> https://docs.google.com/document/d/1suZlvhzgB6NIyBNpM9nxoHxz_Ri7qAm-UEO8v8AIFsc
>  for high level designs.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to