[ https://issues.apache.org/jira/browse/SPARK-2583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14084195#comment-14084195 ]
Apache Spark commented on SPARK-2583: ------------------------------------- User 'JoshRosen' has created a pull request for this issue: https://github.com/apache/spark/pull/1758 > ConnectionManager cannot distinguish whether error occurred or not > ------------------------------------------------------------------ > > Key: SPARK-2583 > URL: https://issues.apache.org/jira/browse/SPARK-2583 > Project: Spark > Issue Type: Bug > Components: Spark Core > Reporter: Kousuke Saruta > Assignee: Kousuke Saruta > Priority: Critical > > ConnectionManager#handleMessage sent empty messages to another peer if some > error occurred or not in onReceiveCalback. > {code} > val ackMessage = if (onReceiveCallback != null) { > logDebug("Calling back") > onReceiveCallback(bufferMessage, connectionManagerId) > } else { > logDebug("Not calling back as callback is null") > None > } > if (ackMessage.isDefined) { > if (!ackMessage.get.isInstanceOf[BufferMessage]) { > logDebug("Response to " + bufferMessage + " is not a buffer > message, it is of type " > + ackMessage.get.getClass) > } else if (!ackMessage.get.asInstanceOf[BufferMessage].hasAckId) { > logDebug("Response to " + bufferMessage + " does not have ack > id set") > ackMessage.get.asInstanceOf[BufferMessage].ackId = > bufferMessage.id > } > } > // We have no way to tell peer whether error occurred or not > sendMessage(connectionManagerId, ackMessage.getOrElse { > Message.createBufferMessage(bufferMessage.id) > }) > } > {code} -- This message was sent by Atlassian JIRA (v6.2#6252) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org