[ https://issues.apache.org/jira/browse/YARN-1711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14133406#comment-14133406 ]
Chris Douglas commented on YARN-1711: ------------------------------------- General - The public classes should be annotated with the correct visibility and stability annotations (probably {{@Public}} and {{@Unstable}}) {{SharingPolicy}} - Javadoc throws clause and some parameters not populated - In particular, the {{excludeList}} parameter could use some unpacking. {{CapacityOverTimePolicy}} - Just performing the cast, and throwing {{ClassCastException}} implicitly is equally clear - nit: spacing/concat: {{plan.getTotalCapacity() + ")by " + "accepting reservation: "}} - Just as an observation, no change requested: the assumption that the sharing policy holds the lock on the plan is probably OK, but since both are interfaces there may be a missing abstraction that associates compatible sets of interlocking components. - I can't think of a more appropriate solution to handling aggregates of {{Resource}}. Anything more "correct" doesn't really justify the complexity, certainly not before we get some more experience with planning. Since enabling this is optional, enforcement with the {{IntegralResource}} is a pragmatic tradeoff. {{*Exception}} - s/MismatchingUserException/MismatchedUserException/ - Are the subclasses of {{PlanningException}} for a caller to distinguish the cause for the rejected request, so it can refine it? If that's the case, should they contain diagnostic information as a payload e.g., requested vs actual user? If the intent is to extract it, then some more easily parsed format for the message might be appropriate (e.g., JSON). {{NoOverCommitPolicy}} - The {{excludeList}} should probably be final, and cleared/populated with a clone of the set on calls to {{init()}} {{CapacitySchedulerConfiguration}} - Missing javadoc for the new parameters. {{TestNoOverCommitPolicy}} - Consider using {{@Test(expected = SomeException.class)}} instead of {{Assert::fail()}} and try/catch for {{testSingleFail()}} - Consider specifying the expected cause/subtype instead of generic {{PlanningException}} - {{testMultiTenantFail}} only veries that a {{PlanningException}} is thrown, not that it fails as expected {{TestCapacityOverTimePolicy}} - Most of the tests don't verify that the failure occurs when and how its parameters specify, but only check that a {{PlanningException}} is thrown. > CapacityOverTimePolicy: a policy to enforce quotas over time for YARN-1709 > -------------------------------------------------------------------------- > > Key: YARN-1711 > URL: https://issues.apache.org/jira/browse/YARN-1711 > Project: Hadoop YARN > Issue Type: Sub-task > Reporter: Carlo Curino > Assignee: Carlo Curino > Labels: reservations > Attachments: YARN-1711.1.patch, YARN-1711.2.patch, YARN-1711.3.patch, > YARN-1711.patch > > > This JIRA tracks the development of a policy that enforces user quotas (a > time-extension of the notion of capacity) in the inventory subsystem > discussed in YARN-1709. -- This message was sent by Atlassian JIRA (v6.3.4#6332)