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

Zhijie Shen edited comment on YARN-2446 at 8/28/14 6:28 AM:
------------------------------------------------------------

This patch, which depends on the one on YARN-2102, makes use of the namespace 
to control the user's access to the entities belonging to it. The system is 
going to have a default namespace, which allows every body to read and write 
entities. If the user doesn't specify the namespace id when putting an entity, 
it will be put into the default one.

One thing it worth mentioning that the patch doesn't cover the part of entity 
identifier <type, id> isolation. In the initial proposal, we plan to allow the 
same entity identifier in different namespace. However, it will require fully 
refurnishing the current key space in leveldb timeline store, which makes the 
assumption <type, id> is unique globally. Moreover, the APIs need to be changed 
according. For example, getEntity is likely to return multiple entities of the 
same identifier unless we provide one more namespace param. On the other side, 
as the authenticated user in YARN cluster should be reasonable on creating the 
entity and its identifier, such that it's rare case of identifier collision 
unless the attacker intentionally does it. So we decided to postpone the 
identifier collision avoidance until some use case really wants it.


was (Author: zjshen):
This patch makes use of the namespace to control the user's access to the 
entities belonging to it. The system is going to have a default namespace, 
which allows every body to read and write entities. If the user doesn't specify 
the namespace id when putting an entity, it will be put into the default one.

One thing it worth mentioning that the patch doesn't cover the part of entity 
identifier <type, id> isolation. In the initial proposal, we plan to allow the 
same entity identifier in different namespace. However, it will require fully 
refurnishing the current key space in leveldb timeline store, which makes the 
assumption <type, id> is unique globally. Moreover, the APIs need to be changed 
according. For example, getEntity is likely to return multiple entities of the 
same identifier unless we provide one more namespace param. On the other side, 
as the authenticated user in YARN cluster should be reasonable on creating the 
entity and its identifier, such that it's rare case of identifier collision 
unless the attacker intentionally does it. So we decided to postpone the 
identifier collision avoidance until some use case really wants it.

> Using TimelineNamespace to shield the entities of a user
> --------------------------------------------------------
>
>                 Key: YARN-2446
>                 URL: https://issues.apache.org/jira/browse/YARN-2446
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>            Reporter: Zhijie Shen
>            Assignee: Zhijie Shen
>         Attachments: YARN-2446.1.patch
>
>
> Given YARN-2102 adds TimelineNamespace, we can make use of it to shield the 
> entities, preventing them from being accessed or affected by other users' 
> operations.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to