[NO ISSUE][NET] Abort All Channels on Network Failures
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
- Previously network output channels were excluded
from the channels to be notified of failures and
aborted since their remote stream is usually closed.
- This change ensures that all channels are notified of
failures since the channels TCP connection is closed
on network IO errors.
Change-Id: I983be62f314401aa5ee2ef3b4f02cb23ce5f6de7
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2807
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: abdullah alamoudi <bamousaa@gmail.com>
diff --git a/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/muxdemux/ChannelSet.java b/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/muxdemux/ChannelSet.java
index bd42560..c2fb9a8 100644
--- a/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/muxdemux/ChannelSet.java
+++ b/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/muxdemux/ChannelSet.java
@@ -199,7 +199,7 @@
synchronized (mConn) {
for (int i = 0; i < ccbArray.length; ++i) {
ChannelControlBlock ccb = ccbArray[i];
- if (ccb != null && !ccb.getRemoteEOS()) {
+ if (ccb != null) {
ccb.reportRemoteError(-1);
markEOSAck(i);
unmarkPendingCredits(i);