[ https://issues.apache.org/jira/browse/APEXCORE-510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15426932#comment-15426932 ]
Vlad Rozov commented on APEXCORE-510: ------------------------------------- - Changing emit() to be final breaks backward compatibility. - It should be possible to use DefaultOutputPort.setup() to initialize Thread object instead of relying on reflection. It may be necessary to see if DefaultOutputPort.setup() is called on the correct thread and if not, why. - It is important to benchmark the change. > Enforce DefaultOutputPort.emit() or Sink.put() thread affinity > -------------------------------------------------------------- > > Key: APEXCORE-510 > URL: https://issues.apache.org/jira/browse/APEXCORE-510 > Project: Apache Apex Core > Issue Type: Improvement > Reporter: Vlad Rozov > > Apex platform assumes that an operator interacts with the platform using the > dedicated operator thread. Currently, operators may create worker threads and > emit tuples from a worker thread. This leads to undefined behavior and hard > to find bugs, so it should be possible to enforce that > DefaultOutputPort.emit() and/or Sink.put() are called on the operator thread. -- This message was sent by Atlassian JIRA (v6.3.4#6332)