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);

Reply via email to