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

Bikas Saha commented on TEZ-2314:
---------------------------------

bq. volatile long instead of synchronizing the updates to the values can be 
problematic - since operations on longs are not atomic.
Updates to volatile longs are atomic according to the Java language 
specification. This is better than synchronization on methods.

bq. The approach of sending the data only after initialization is fine for now. 
We'll have to keep this in mind when adding user specified statistics, or stats 
which are not setup during initialization. Synchronization is a simpler 
approach though, and won't run into these potential pitfalls later.
This is unrelated to the actual contents of the stats etc. This is more around 
having the right number of objects in the hearbeat request. There should be N 
stats objects for N IOs. So that code upstream (serde or non-serde) can simply 
work on the correct number of objects. About consistency of the objects 
internal state while updates are in progress, those will have to be looked at 
as needed.

Do the above responses address the concerns?



> Tez task attempt failures due to bad event serialization
> --------------------------------------------------------
>
>                 Key: TEZ-2314
>                 URL: https://issues.apache.org/jira/browse/TEZ-2314
>             Project: Apache Tez
>          Issue Type: Bug
>    Affects Versions: 0.7.0
>            Reporter: Rohini Palaniswamy
>            Assignee: Bikas Saha
>            Priority: Blocker
>         Attachments: TEZ-2314.1.patch, TEZ-2314.log.patch
>
>
> {code}
> 2015-04-13 19:21:48,516 WARN [Socket Reader #3 for port 53530] ipc.Server: 
> Unable to read call parameters for client 10.216.13.112on connection protocol 
> org.apache.tez.common.TezTaskUmbilicalProtocol for rpcKind RPC_WRITABLE
> java.lang.ArrayIndexOutOfBoundsException: 1935896432
>         at 
> org.apache.tez.runtime.api.impl.EventMetaData.readFields(EventMetaData.java:120)
>         at 
> org.apache.tez.runtime.api.impl.TezEvent.readFields(TezEvent.java:271)
>         at 
> org.apache.tez.runtime.api.impl.TezHeartbeatRequest.readFields(TezHeartbeatRequest.java:110)
>         at 
> org.apache.hadoop.io.ObjectWritable.readObject(ObjectWritable.java:285)
>         at 
> org.apache.hadoop.ipc.WritableRpcEngine$Invocation.readFields(WritableRpcEngine.java:160)
>         at 
> org.apache.hadoop.ipc.Server$Connection.processRpcRequest(Server.java:1884)
>         at 
> org.apache.hadoop.ipc.Server$Connection.processOneRpc(Server.java:1816)
>         at 
> org.apache.hadoop.ipc.Server$Connection.readAndProcess(Server.java:1574)
>         at org.apache.hadoop.ipc.Server$Listener.doRead(Server.java:806)
>         at 
> org.apache.hadoop.ipc.Server$Listener$Reader.doRunLoop(Server.java:673)
>         at org.apache.hadoop.ipc.Server$Listener$Reader.run(Server.java:644)
> {code}
> cc/ [~hitesh] and [~bikassaha]



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

Reply via email to