You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Murtadha Hubail (Code Review)" <do...@asterixdb.incubator.apache.org> on 2018/03/15 12:33:31 UTC

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Murtadha Hubail has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/2487

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................

[NO ISSUE][NET] Improve Logging in TCPEndpoint

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Include end point local address in IO thread name.
- Log TCPEndpoint/Connection addresses on failures.
- Fix multiple IO Threads initialization.
- Fix synchronization for closed connection notification.

Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
---
M hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPConnection.java
M hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPEndpoint.java
2 files changed, 22 insertions(+), 10 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/87/2487/1

diff --git a/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPConnection.java b/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPConnection.java
index 29afc6d..b0e2eed 100644
--- a/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPConnection.java
+++ b/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPConnection.java
@@ -101,4 +101,9 @@
             LOGGER.error(() -> "Error closing channel at: " + remoteAddress, e);
         }
     }
+
+    @Override
+    public String toString() {
+        return "TCPConnection[Remote Address: " + remoteAddress + " Local Address: " + endpoint.getLocalAddress() + "]";
+    }
 }
diff --git a/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPEndpoint.java b/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPEndpoint.java
index b2efe7f..affa59e 100644
--- a/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPEndpoint.java
+++ b/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPEndpoint.java
@@ -63,18 +63,17 @@
             serverSocket.bind(localAddress);
             this.localAddress = (InetSocketAddress) serverSocket.getLocalSocketAddress();
         }
-
         ioThreads = new IOThread[nThreads];
         for (int i = 0; i < ioThreads.length; ++i) {
             ioThreads[i] = new IOThread();
         }
-
         if (localAddress != null) {
-            ioThreads[0].registerServerSocket(serverSocketChannel);
+            for (IOThread ioThread : ioThreads) {
+                ioThread.registerServerSocket(serverSocketChannel);
+            }
         }
-
-        for (int i = 0; i < ioThreads.length; ++i) {
-            ioThreads[i].start();
+        for (IOThread ioThread : ioThreads) {
+            ioThread.start();
         }
     }
 
@@ -98,6 +97,11 @@
         return localAddress;
     }
 
+    @Override
+    public String toString() {
+        return "TCPEndpoint [Local Address: " + localAddress + "]";
+    }
+
     private class IOThread extends Thread {
         private final List<InetSocketAddress> pendingConnections;
 
@@ -110,7 +114,7 @@
         private final Selector selector;
 
         public IOThread() throws IOException {
-            super("TCPEndpoint IO Thread");
+            super("TCPEndpoint IO Thread [" + localAddress + "]");
             setDaemon(true);
             setPriority(Thread.NORM_PRIORITY);
             this.pendingConnections = new ArrayList<>();
@@ -178,10 +182,12 @@
                                 try {
                                     connection.getEventListener().notifyIOReady(connection, readable, writable);
                                 } catch (Exception e) {
-                                    LOGGER.error("Unexpected tcp io error", e);
+                                    LOGGER.error("Unexpected tcp io error in connection {}", connection, e);
                                     connection.getEventListener().notifyIOError(e);
                                     connection.close();
-                                    connectionListener.connectionClosed(connection);
+                                    synchronized (connectionListener) {
+                                        connectionListener.connectionClosed(connection);
+                                    }
                                     continue;
                                 }
                             }
@@ -195,6 +201,7 @@
                                 try {
                                     finishConnect = channel.finishConnect();
                                 } catch (IOException e) {
+                                    LOGGER.error("Failed to finish connect to channel {}", key.attachment(), e);
                                     key.cancel();
                                     synchronized (connectionListener) {
                                         connectionListener.connectionFailure((InetSocketAddress) key.attachment(), e);
@@ -207,7 +214,7 @@
                         }
                     }
                 } catch (Exception e) {
-                    LOGGER.error("Error in TCPEndpoint {}", localAddress, e);
+                    LOGGER.error("Error in TCPEndpoint {}", TCPEndpoint.this, e);
                 }
             }
         }

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/3263/ (3/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/8503/ (11/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1:

Analytics Compatibility Compilation Successful
https://goo.gl/S2qCTc : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/3577/ (8/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/2958/ (6/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1: Contrib+1

Analytics Compatibility Tests Successful
https://goo.gl/pGnsBb : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1:

BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/2892/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/3766/ (10/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/5942/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/3033/ (9/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/3046/ (1/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/3006/ (7/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1: Contrib+1

BAD Compatibility Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/2892/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/3518/ (12/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/6996/ (5/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/5942/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/1053/ (2/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/3494/ (4/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Till Westmann (Code Review)" <do...@asterixdb.incubator.apache.org>.
Till Westmann has posted comments on this change.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


Patch Set 1: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: abdullah alamoudi <ba...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][NET] Improve Logging in TCPEndpoint

Posted by "Murtadha Hubail (Code Review)" <do...@asterixdb.incubator.apache.org>.
Murtadha Hubail has submitted this change and it was merged.

Change subject: [NO ISSUE][NET] Improve Logging in TCPEndpoint
......................................................................


[NO ISSUE][NET] Improve Logging in TCPEndpoint

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Include end point local address in IO thread name.
- Log TCPEndpoint/Connection addresses on failures.
- Fix multiple IO Threads initialization.
- Fix synchronization for closed connection notification.

Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2487
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <ti...@apache.org>
---
M hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPConnection.java
M hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPEndpoint.java
2 files changed, 22 insertions(+), 10 deletions(-)

Approvals:
  Anon. E. Moose #1000171: 
  Till Westmann: Looks good to me, approved
  Jenkins: Verified; No violations found; ; Verified



diff --git a/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPConnection.java b/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPConnection.java
index 29afc6d..b0e2eed 100644
--- a/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPConnection.java
+++ b/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPConnection.java
@@ -101,4 +101,9 @@
             LOGGER.error(() -> "Error closing channel at: " + remoteAddress, e);
         }
     }
+
+    @Override
+    public String toString() {
+        return "TCPConnection[Remote Address: " + remoteAddress + " Local Address: " + endpoint.getLocalAddress() + "]";
+    }
 }
diff --git a/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPEndpoint.java b/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPEndpoint.java
index b2efe7f..affa59e 100644
--- a/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPEndpoint.java
+++ b/hyracks-fullstack/hyracks/hyracks-net/src/main/java/org/apache/hyracks/net/protocols/tcp/TCPEndpoint.java
@@ -63,18 +63,17 @@
             serverSocket.bind(localAddress);
             this.localAddress = (InetSocketAddress) serverSocket.getLocalSocketAddress();
         }
-
         ioThreads = new IOThread[nThreads];
         for (int i = 0; i < ioThreads.length; ++i) {
             ioThreads[i] = new IOThread();
         }
-
         if (localAddress != null) {
-            ioThreads[0].registerServerSocket(serverSocketChannel);
+            for (IOThread ioThread : ioThreads) {
+                ioThread.registerServerSocket(serverSocketChannel);
+            }
         }
-
-        for (int i = 0; i < ioThreads.length; ++i) {
-            ioThreads[i].start();
+        for (IOThread ioThread : ioThreads) {
+            ioThread.start();
         }
     }
 
@@ -98,6 +97,11 @@
         return localAddress;
     }
 
+    @Override
+    public String toString() {
+        return "TCPEndpoint [Local Address: " + localAddress + "]";
+    }
+
     private class IOThread extends Thread {
         private final List<InetSocketAddress> pendingConnections;
 
@@ -110,7 +114,7 @@
         private final Selector selector;
 
         public IOThread() throws IOException {
-            super("TCPEndpoint IO Thread");
+            super("TCPEndpoint IO Thread [" + localAddress + "]");
             setDaemon(true);
             setPriority(Thread.NORM_PRIORITY);
             this.pendingConnections = new ArrayList<>();
@@ -178,10 +182,12 @@
                                 try {
                                     connection.getEventListener().notifyIOReady(connection, readable, writable);
                                 } catch (Exception e) {
-                                    LOGGER.error("Unexpected tcp io error", e);
+                                    LOGGER.error("Unexpected tcp io error in connection {}", connection, e);
                                     connection.getEventListener().notifyIOError(e);
                                     connection.close();
-                                    connectionListener.connectionClosed(connection);
+                                    synchronized (connectionListener) {
+                                        connectionListener.connectionClosed(connection);
+                                    }
                                     continue;
                                 }
                             }
@@ -195,6 +201,7 @@
                                 try {
                                     finishConnect = channel.finishConnect();
                                 } catch (IOException e) {
+                                    LOGGER.error("Failed to finish connect to channel {}", key.attachment(), e);
                                     key.cancel();
                                     synchronized (connectionListener) {
                                         connectionListener.connectionFailure((InetSocketAddress) key.attachment(), e);
@@ -207,7 +214,7 @@
                         }
                     }
                 } catch (Exception e) {
-                    LOGGER.error("Error in TCPEndpoint {}", localAddress, e);
+                    LOGGER.error("Error in TCPEndpoint {}", TCPEndpoint.this, e);
                 }
             }
         }

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2487
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I5e78755150a6424fd22f587c4311da7c60b3b55a
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: abdullah alamoudi <ba...@gmail.com>