[
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]