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)