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

Giovanni Matteo Fumarola commented on YARN-1547:
------------------------------------------------

[~vinodkv] I just pushed a first prototype version.
Just to get feedback on it.

Some few comments from my side:
1) To prevent DoS attacks, this new class performs 3 checks: on singular 
request, over the entire lifetime of the application, and in a short time using 
a sliding window.
2) The sliding window's code is taken from an other OSS project: Storm. I made 
some modification on top of it. I don't know how it works with shared code 
between OSS Apache projects.
3) Right now, the class is an interceptor for AMRMProxy, as we discussed we 
should move this class in a common place to be used by RM - maybe 
yarn-server-common.
4) I inserted some default values on YarnConfiguration. They are inaccurate. We 
should get those data from a real cluster. On top of it, I would like to create 
a new YarnConfiguration for DoS values. 
5) In this patch, jUnits are missing. I tested it with some simple UTCs in the 
same style of [YARN-4117|https://issues.apache.org/jira/browse/YARN-4117]. As I 
said before this patch is just a prototype to get feedback :) in the next 
versions I will insert real UTCs. 
6) A full complete JavaDocs are missing.
7) When the application passes a limit or gives a wrong values, the interceptor 
should reject the call. I inserted couple of TODO because I was not sure what 
to do: return null; or throw a YarnException.

> Prevent DoS of ApplicationMasterProtocol by putting in limits
> -------------------------------------------------------------
>
>                 Key: YARN-1547
>                 URL: https://issues.apache.org/jira/browse/YARN-1547
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Vinod Kumar Vavilapalli
>            Assignee: Giovanni Matteo Fumarola
>         Attachments: YARN-1547.pdf, YARN-1547.prototype.v0.patch, 
> YARN-1547.v0.pdf
>
>
> Points of DoS in ApplicationMasterProtocol
>  - Host and trackingURL in RegisterApplicationMasterRequest
>  - Diagnostics, final trackingURL in FinishApplicationMasterRequest
>  - Unlimited number of resourceAsks, containersToBeReleased and 
> resourceBlacklistRequest in AllocateRequest
>     -- Unbounded number of priorities and/or resourceRequests in each ask.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to