Vlad Rozov created APEXCORE-504:
-----------------------------------

             Summary: Possible race condition in 
StreamingContainerAgent.getStreamCodec()
                 Key: APEXCORE-504
                 URL: https://issues.apache.org/jira/browse/APEXCORE-504
             Project: Apache Apex Core
          Issue Type: Bug
    Affects Versions: 3.4.0, 3.2.1, 3.3.0
            Reporter: Vlad Rozov


StreamingContainerAgent.getStreamCodec() may be called from multiple RPC 
heartbeat processing threads for the same inputPortMeta (for an input port of a 
partitioned operator) that leads to a race condition in the following code:
{noformat}
      StreamCodec<?> codec = inputPortMeta.getValue(PortContext.STREAM_CODEC);
      if (codec == null) {
        // it cannot be this object that gets returned. Depending on this value 
is dangerous 
        codec = inputPortMeta.getPortObject().getStreamCodec();
        if (codec != null) {
          // don't create codec multiple times - it will assign a new identifier
          inputPortMeta.getAttributes().put(PortContext.STREAM_CODEC, codec);
        }
{noformat}



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

Reply via email to