[
https://issues.apache.org/jira/browse/HBASE-18807?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16171903#comment-16171903
]
Josh Elser commented on HBASE-18807:
------------------------------------
bq. How easy/difficult it will be the CP user to know which kind of Quota
setting this is and get the details?
bq. The implementations of this super type are not exposed!
Yup ;). This is definitely where things break down. Via the public API, users
create the opaque QuotaSettings objects via {{QuotaSettingsFactory}} calls.
They never know about the objects they're actually passing around.
I totally agree with you that this is less-than-ideal; however, this was
already getting lengthy for what I thought would be a relatively
straightforward patch. The "proper" fix would probably be to mark each concrete
{{QuotaSettings}} object as {{Public}}/{{Evolving}}.
The introduction of the (poorly named) {{GlobalQuotaSettings}}, whose purpose
is to hold quotas of all type (throttle, space) for some subject (table,
namespace), is another manifestation of this problem. I actually think that
this object is what's passed to the CP in all codepaths. Perhaps this is a
stop-gap: change the CP APIs to expect the GlobalQuotaSettings and mark that
class as limited-private for CPs?
I think we're making steps in the right direction here, but there's definitely
road yet to be traveled to get this to a "good" place for users.
> Remove PB references from Observers for Quotas
> ----------------------------------------------
>
> Key: HBASE-18807
> URL: https://issues.apache.org/jira/browse/HBASE-18807
> Project: HBase
> Issue Type: Sub-task
> Reporter: Josh Elser
> Assignee: Josh Elser
> Fix For: 2.0.0-alpha-4
>
> Attachments: HBASE-18807.001.branch-2.patch
>
>
> Break-out from the parent:
> Same idea, just applied to the Observer methods for pre/post quota
> operations. Requires changes to MasterQuotaManager and the QuotaSettings
> implementations as some business logic is written on the PB objects directly.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)