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

Bikas Saha commented on TEZ-1076:
---------------------------------

There was some discussion on having versioning inside TezUserPayload and making 
it public?
{code}+  private int version;
+  private TezUserPayload eventPayload;{code}

Please follow the 80 char line as much as possible. Some of the javadocs and 
method signatures are quite long.

Renaming the member var to wrapper or initializerWrapper will reduce confusion
{code}+    public InputInitializerCallable(InitializerWrapper initializer, 
UserGroupInformation ugi) {
+      this.initializer = initializer;{code}

getEntityName() can just be getName(). The object on which its being called is 
known. So the method does not have to be explicit about it.

Can the vertex name be invalid? Existing code may be suffering from this issue 
too
{code}+          RootInputInitializerEvent riEvent = 
(RootInputInitializerEvent) tezEvent.getEvent();
+          Vertex target = 
vertex.getDAG().getVertex(riEvent.getTargetVertexName());
+          if (target == vertex) {
+            vertex.rootInputInitializer.handleInitializerEvent(riEvent);
+          } else {
+            vertex.eventHandler.handle(new 
VertexEventRouteEvent(target.getVertexId(),
+                Collections.singletonList(tezEvent)));
+          }{code}

Is this check relevant for the new event?
{code}         case INPUT_READ_ERROR_EVENT:
           {
             checkEventSourceMetadata(vertex, sourceMeta);{code}

Log is probably wrong
{code}+  private DAGPlan createDAGPlanWithRunningInitializer() {
+    LOG.info("Setting up invalid dag plan with input initializer");{code}

The check is odd. We should know whether we will stabilize in RUNNING or INITED 
state and check for that state only, right?
{code}+    // At this point, the initializer is done, but there's no guarantee 
that the event
+    // has been processed by the dispatcher. Looping to go into INITED/RUNNING 
state.
+    while (v2.getState() != VertexState.INITED && v2.getState() != 
VertexState.RUNNING) {
+      Thread.sleep(10);
+    }{code}


> Allow events to be sent to InputInitializers
> --------------------------------------------
>
>                 Key: TEZ-1076
>                 URL: https://issues.apache.org/jira/browse/TEZ-1076
>             Project: Apache Tez
>          Issue Type: Improvement
>            Reporter: Siddharth Seth
>            Assignee: Siddharth Seth
>         Attachments: TEZ-1076.1.txt
>
>
> Events from tasks / vertices to InputInitializers.



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

Reply via email to