[
https://issues.apache.org/jira/browse/TEZ-1647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14167945#comment-14167945
]
Jeff Zhang commented on TEZ-1647:
---------------------------------
[~hitesh], Previously thought the addAll is not thread safe when checking
javadoc, but check it again and found that it is just not atomically if fail
but thread-safe. Attach new patch with addAll and draintTo.
bq. However, the bulk Collection operations addAll, containsAll, retainAll and
removeAll are not necessarily performed atomically unless specified otherwise
in an implementation. So it is possible, for example, for addAll(c) to fail
(throwing an exception) after adding only some of the elements in c.
> Issue with caching of events in VertexManager::onRootVertexInitialized
> -----------------------------------------------------------------------
>
> Key: TEZ-1647
> URL: https://issues.apache.org/jira/browse/TEZ-1647
> Project: Apache Tez
> Issue Type: Bug
> Reporter: Hitesh Shah
> Assignee: Jeff Zhang
> Attachments: Tez-1647-3.patch, Tez-1647.patch
>
>
> Came across a use-case in Hive where the current functionality does not work.
> Consider a vertex with 2 inputs ( i1, i2 ):
> The custom vertex manager in Hive generates events only when both i1 and i2
> are initialized.
> Therefore vertexManagerPlugin::onRootInitialized(i1) does nothing but for
> vertexManagerPLugin::onRootIniitialized(i2) , it calls context.addEvents(i1)
> and context.addEvents(i2). When this happens, the events generated for i1
> never get sent to the VertexImpl to be routed to the tasks.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)