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

Benedict Elliott Smith commented on CASSANDRA-17044:
----------------------------------------------------

I think APIs fall into two buckets: internal and external. 

I can't imagine a reason why internal APIs should need annotating, as they 
should offer no guarantees at all to any user that exploits them, they simply 
provide utility for structuring or testing the code. AFAICT this refactor falls 
into this bucket. 

External APIs should have some explicit consideration for compatibility, even 
if it is minimal it should have a well defined and documented approach with 
what the user can expect. External APIs obviously have to clear much greater 
hurdles for introduction to the codebase given the restrictions they place on 
future development, and I'd be pretty opposed to that in this instance.

> Refactor schema management to allow for schema source pluggability
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-17044
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17044
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Cluster/Schema
>            Reporter: Jacek Lewandowski
>            Assignee: Jacek Lewandowski
>            Priority: Normal
>
> The idea is decompose `Schema` into separate entities responsible for 
> different things. In particular extract what is related to schema storage and 
> synchronization into a separate class so that it is possible to create an 
> extension point there and store schema in a different way than 
> `system_schema` keyspace, for example in etcd. 
> This would also simplify the logic and reduce the number of special cases, 
> make all the things more testable and the logic of internal classes 
> encapsulated.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to