Vlad Rozov created APEXCORE-363:
-----------------------------------

             Summary: 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.3.0, 3.2.0, 3.2.1, 3.4.0, 3.3.1
            Reporter: Vlad Rozov
            Assignee: Vlad Rozov


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)

Reply via email to