Repository: asterixdb Updated Branches: refs/heads/master 2016c44bd -> ad4761481
[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 <[email protected]> Tested-by: Jenkins <[email protected]> Contrib: Jenkins <[email protected]> Integration-Tests: Jenkins <[email protected]> Reviewed-by: abdullah alamoudi <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/ad476148 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/ad476148 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/ad476148 Branch: refs/heads/master Commit: ad476148184e534cfdb8069f4cb2748692380e2f Parents: 2016c44 Author: Murtadha Hubail <[email protected]> Authored: Mon Jul 30 09:19:59 2018 -0700 Committer: Murtadha Hubail <[email protected]> Committed: Mon Jul 30 12:27:45 2018 -0700 ---------------------------------------------------------------------- .../apache/hyracks/net/protocols/muxdemux/ChannelControlBlock.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ad476148/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/muxdemux/ChannelControlBlock.java ---------------------------------------------------------------------- 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 @@ public class ChannelControlBlock implements IChannelControlBlock { localCloseAck.set(true); } - synchronized void reportRemoteError(int ecode) { + void reportRemoteError(int ecode) { ri.flush(); ri.getFullBufferAcceptor().error(ecode); remoteClose.set(true);
