Edward Zhang created EAGLE-67:
---------------------------------

             Summary: Emit immutable object to prevent concurrent modification
                 Key: EAGLE-67
                 URL: https://issues.apache.org/jira/browse/EAGLE-67
             Project: Eagle
          Issue Type: Bug
            Reporter: Edward Zhang
            Assignee: Edward Zhang


Storm does not guarantee the event one bolts receives is always local to this 
bolt, for performance reason, Storm framework may send this event object 
directly into a bolt without serialization/deserialization, which means storm 
application must be careful with doing mutable operations on the event object 
you have received because this event object may be used by other bolt 
concurrently.

Storm emit API requires that event object to be emitted should be immutable, 
https://storm.apache.org/apidocs/backtype/storm/task/OutputCollector.html

So application should be defensive in emitting and using event object, i.e. 
send immutable object and deep copy an event object when you want to modify it.



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

Reply via email to