[
https://issues.apache.org/jira/browse/HADOOP-10280?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chris Li updated HADOOP-10280:
------------------------------
Description:
In order to intelligently schedule incoming calls, we need to know what
identity it falls under.
We do this by defining the Schedulable interface, which has one method,
getIdentity(IdentityType idType)
The scheduler can then query a Schedulable object for its identity, depending
on what idType is.
For example:
Call 1: Made by user=Alice, group=admins
Call 2: Made by user=Bob, group=admins
Call 3: Made by user=Carlos, group=users
Call 4: Made by user=Alice, group=admins
Depending on what the identity is, we would treat these requests differently.
If we query on Username, we can bucket these 4 requests into 3 sets for Alice,
Bob, and Carlos. If we query on Groupname, we can bucket these 4 requests into
2 sets for admins and users.
In this initial version, idType can be username or primary group. In future
versions, it could be jobID, request class (read or write), or some explicit
QoS field. These are user-defined, and will be reloaded on callqueue refresh.
was:
In order to intelligently schedule incoming calls, we need access to members of
the Call object.
We do this by defining the Schedulable interface, which has one method,
getIdentity(IdentityType idType)
The scheduler can then query a Schedulable object for its identity, depending
on what idType is.
In this initial version, idType can be username or primary group. In future
versions, it could be jobID, request class (read or write), or some explicit
QoS field.
> Make Schedulables return a configurable identity of user or group
> -----------------------------------------------------------------
>
> Key: HADOOP-10280
> URL: https://issues.apache.org/jira/browse/HADOOP-10280
> Project: Hadoop Common
> Issue Type: Sub-task
> Reporter: Chris Li
> Assignee: Chris Li
> Attachments: HADOOP-10280.patch, HADOOP-10280.patch
>
>
> In order to intelligently schedule incoming calls, we need to know what
> identity it falls under.
> We do this by defining the Schedulable interface, which has one method,
> getIdentity(IdentityType idType)
> The scheduler can then query a Schedulable object for its identity, depending
> on what idType is.
> For example:
> Call 1: Made by user=Alice, group=admins
> Call 2: Made by user=Bob, group=admins
> Call 3: Made by user=Carlos, group=users
> Call 4: Made by user=Alice, group=admins
> Depending on what the identity is, we would treat these requests differently.
> If we query on Username, we can bucket these 4 requests into 3 sets for
> Alice, Bob, and Carlos. If we query on Groupname, we can bucket these 4
> requests into 2 sets for admins and users.
> In this initial version, idType can be username or primary group. In future
> versions, it could be jobID, request class (read or write), or some explicit
> QoS field. These are user-defined, and will be reloaded on callqueue refresh.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)