[ https://issues.apache.org/jira/browse/STORM-737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14549254#comment-14549254 ]
ASF GitHub Bot commented on STORM-737: -------------------------------------- Github user d2r commented on a diff in the pull request: https://github.com/apache/storm/pull/557#discussion_r30548714 --- Diff: storm-core/src/jvm/backtype/storm/utils/TransferDrainer.java --- @@ -26,88 +26,47 @@ public class TransferDrainer { - private HashMap<String, ArrayList<ArrayList<TaskMessage>>> bundles = new HashMap(); - - public void add(HashMap<String, ArrayList<TaskMessage>> workerTupleSetMap) { - for (String key : workerTupleSetMap.keySet()) { - - ArrayList<ArrayList<TaskMessage>> bundle = bundles.get(key); - if (null == bundle) { - bundle = new ArrayList<ArrayList<TaskMessage>>(); - bundles.put(key, bundle); - } - - ArrayList tupleSet = workerTupleSetMap.get(key); - if (null != tupleSet && tupleSet.size() > 0) { - bundle.add(tupleSet); - } - } + private ArrayList<TaskMessage> buffer = new ArrayList<TaskMessage>(); + + public void addAll(ArrayList<TaskMessage> tuples) { + buffer.addAll(tuples); --- End diff -- I know you mentioned this in a comment on the former pull request, but since this is just a list do you want to remove `buffer`, `addAll()`, and `clear()` from this class and instead pass an ArrayList to the `send` method? > Workers may try to send to closed connections > --------------------------------------------- > > Key: STORM-737 > URL: https://issues.apache.org/jira/browse/STORM-737 > Project: Apache Storm > Issue Type: Bug > Affects Versions: 0.9.2-incubating > Reporter: Derek Dagit > > There is a race condition in the worker code that can allow for a send() to > be called on a closed connection. > [Discussion|https://github.com/apache/storm/pull/349#issuecomment-87778672] > The assignment mapping from task -> node+port needs to be read and used in > the read lock when sending, so that an accurate mapping is used that does not > include any connections that are closed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)