[NO ISSUE][NET] Remove Unneeded Sync From ChannelControlBlock
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
Remove synchronization from ChannelControlBlock
reportRemoteError since the caller will either be
synchronized on the multiplex connection or it will
be a single network IOThread notifying the channel.
This is done to prevent a possible deadlock between
threads detecting multiplex connection failure and
pipeline failing threads.
Change-Id: Ic81946ffea7fcb28ec1d96eae86d2473bdc5aef2
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2828
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: 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/ChannelControlBlock.java b/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/muxdemux/ChannelControlBlock.java
index ba463d3..998acfb 100644
--- a/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/muxdemux/ChannelControlBlock.java
+++ b/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/muxdemux/ChannelControlBlock.java
@@ -122,7 +122,7 @@
localCloseAck.set(true);
}
- synchronized void reportRemoteError(int ecode) {
+ void reportRemoteError(int ecode) {
ri.flush();
ri.getFullBufferAcceptor().error(ecode);
remoteClose.set(true);