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)