[
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: [email protected]
For additional commands, e-mail: [email protected]