apex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vlad Rozov (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (APEXCORE-363) NPE in StreamingContainerManager
Date Mon, 28 Mar 2016 20:56:25 GMT

     [ https://issues.apache.org/jira/browse/APEXCORE-363?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Vlad Rozov updated APEXCORE-363:
--------------------------------
    Affects Version/s:     (was: 3.3.1)
                           (was: 3.4.0)
                           (was: 3.2.1)

> NPE in StreamingContainerManager
> --------------------------------
>
>                 Key: APEXCORE-363
>                 URL: https://issues.apache.org/jira/browse/APEXCORE-363
>             Project: Apache Apex Core
>          Issue Type: Bug
>    Affects Versions: 3.2.0, 3.3.0
>            Reporter: Vlad Rozov
>            Assignee: Vlad Rozov
>             Fix For: 3.2.1, 3.4.0, 3.3.1
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> OperatorContext.java uses CircularBuffer to store ContainerStats.OperatorStats and when
CircularBuffer becomes full it breaks single producer/single consumer contract of the CircularBuffer
by calling CircularBuffer.poll() method from the thread that offers entries to the CircularBuffer.
This may lead to null being inserted into a collection when CircularBuffer.drainTo() or CircularBuffer.poll()
is called in a different thread.
> {noformat}
> java.io.IOException: java.lang.NullPointerException
>         at com.datatorrent.stram.StreamingContainerManager.processHeartbeat(StreamingContainerManager.java:1563)
>         at com.datatorrent.stram.StreamingContainerParent$2.run(StreamingContainerParent.java:197)
>         at com.datatorrent.stram.StreamingContainerParent$2.run(StreamingContainerParent.java:193)
>         at com.datatorrent.stram.util.SecureExecutor$1.run(SecureExecutor.java:38)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:356)
>         at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1651)
>         at com.datatorrent.stram.util.SecureExecutor.execute(SecureExecutor.java:35)
>         at com.datatorrent.stram.StreamingContainerParent.processHeartbeat(StreamingContainerParent.java:193)
>         at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at org.apache.hadoop.ipc.WritableRpcEngine$Server$WritableRpcInvoker.call(WritableRpcEngine.java:514)
>         at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1060)
>         at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2044)
>         at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2040)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:415)
>         at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
>         at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2038)
> {noformat}  



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

Mime
View raw message