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

Siddharth Seth commented on TEZ-1233:
-------------------------------------

Approach looks good to me. Comments on the patch.
- Rename methods to just setConf (instead of setDAGConf, setVertexConf) ? 
They're used in the context of the vertex / dag anyway
- {code}+    Scope scope = TezConfiguration.PropertyScope.get(property);
+    if (scope == null) {
+      throw new IllegalStateException("property " + property + " has no 
ConfigurationScope annotation, it is not supported");
+    }{code}
This limits the set to the properties in TezConfiguration. Instead, can we 
validate properties which exist in TezConfiguration - and let all others 
through ? That allows passing Configuration information to pluggable components 
within the AM.
- {code}VERTEX,   // can been set at AM/DAG/VERTEX level{code}
Do we expect any properties which may make sense only at the Vertex level, but 
not at the DAG level ? Similarly for DAG implying AM. AM is probably a special 
case, since it isn't directly tied to the execution work.
- PropertyScope should not be public in TezConfiguration. It can be changed by 
user code. Instead, TezConfiguration should just expose a method to validate a 
property that is passed in.
- Construction of PropertyScope - is this reflection based approach expensive ?
- Add a test similar to TestRuntimeConfiguration which validates that all 
properties have an annotation on them.
- In DAGImpl, new Configuration is not required, that's already handled in the 
DAGAppMaster. Also, is validation required for the dag conf property being set ?
- DAG.java should not modify dagConf that is passed in. That's the same 
configuration instance that was used to create the TezClient.
- Also, If the TezClient configuration is available in the AM - then only 
properties which are set at the dag level should be sent to the AM via RPC. 
Otherwise, the list ends up being way too large. This is already handled for 
the VertexConf.

> Allow configuration of framework parameters per vertex
> ------------------------------------------------------
>
>                 Key: TEZ-1233
>                 URL: https://issues.apache.org/jira/browse/TEZ-1233
>             Project: Apache Tez
>          Issue Type: Improvement
>            Reporter: Siddharth Seth
>            Assignee: Jeff Zhang
>         Attachments: TEZ-1233-1.patch
>
>
> Currently, configuration properties specific in AMConfiguration are used to 
> configure tasks - e.g. memory configs, process tree, etc. These should be 
> configurable at a Vertex level.
> Also, tasks end up reading these configs from the dist cache each time - 
> would be simpler to send over the wire as part of the TaskSpec.



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

Reply via email to