You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by se...@apache.org on 2017/10/16 20:05:07 UTC

[1/3] incubator-trafodion git commit: TRAFODION-2717 odb give wrong data and dcsmaster hang

Repository: incubator-trafodion
Updated Branches:
  refs/heads/master e8bdaba98 -> d283c95ee


TRAFODION-2717 odb give wrong data and dcsmaster hang


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/3b9cb971
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/3b9cb971
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/3b9cb971

Branch: refs/heads/master
Commit: 3b9cb971136e93a65ad9e8570a15bf8180dad273
Parents: 93bb3df
Author: mashengchen <ma...@gmail.com>
Authored: Wed Aug 16 03:25:22 2017 +0000
Committer: mashengchen <ma...@gmail.com>
Committed: Wed Aug 16 03:25:22 2017 +0000

----------------------------------------------------------------------
 .../dcs/master/listener/ListenerWorker.java     | 64 +++++++++++---------
 .../dcs/master/listener/RequestCancelQuery.java | 10 ++-
 .../master/listener/RequestGetObjectRef.java    |  8 ++-
 .../dcs/master/listener/RequestUnknown.java     |  6 +-
 4 files changed, 52 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/3b9cb971/dcs/src/main/java/org/trafodion/dcs/master/listener/ListenerWorker.java
----------------------------------------------------------------------
diff --git a/dcs/src/main/java/org/trafodion/dcs/master/listener/ListenerWorker.java b/dcs/src/main/java/org/trafodion/dcs/master/listener/ListenerWorker.java
index 182e437..3683618 100644
--- a/dcs/src/main/java/org/trafodion/dcs/master/listener/ListenerWorker.java
+++ b/dcs/src/main/java/org/trafodion/dcs/master/listener/ListenerWorker.java
@@ -86,39 +86,43 @@ public class ListenerWorker extends Thread {
         DataEvent dataEvent;
     
         while(true) {
-            // Wait for data to become available
-            synchronized(queue) {
-                while(queue.isEmpty()) {
-                    try {
-                        queue.wait();
-                    } catch (InterruptedException e) {
+            try {
+                // Wait for data to become available
+                synchronized(queue) {
+                    while(queue.isEmpty()) {
+                        try {
+                            queue.wait();
+                        } catch (InterruptedException e) {
+                        }
                     }
+                    dataEvent = queue.remove(0);
                 }
-                dataEvent = queue.remove(0);
-            }
-            SelectionKey key = dataEvent.key;
-            SocketChannel client = (SocketChannel) key.channel();
-            Socket s = client.socket();
-            ClientData clientData = (ClientData) key.attachment();
-            ListenerService server = dataEvent.server;
-            dataEvent.key = null;
-            dataEvent.server = null;
-            
-            switch (clientData.hdr.getOperationId()){
-                case ListenerConstants.DCS_MASTER_GETSRVRAVAILABLE:
-                    clientData = requestGetObjectRef.processRequest(clientData, s);
-                    break;
-                case ListenerConstants.DCS_MASTER_CANCELQUERY:
-                    clientData = requestCancelQuery.processRequest(clientData, s);
-                    break;
-                default:
-                    clientData = requestUnknown.processRequest(clientData, s);
-                    break;
+                SelectionKey key = dataEvent.key;
+                SocketChannel client = (SocketChannel) key.channel();
+                Socket s = client.socket();
+                ClientData clientData = (ClientData) key.attachment();
+                ListenerService server = dataEvent.server;
+                dataEvent.key = null;
+                dataEvent.server = null;
+
+                switch (clientData.hdr.getOperationId()){
+                    case ListenerConstants.DCS_MASTER_GETSRVRAVAILABLE:
+                        clientData = requestGetObjectRef.processRequest(clientData, s);
+                        break;
+                    case ListenerConstants.DCS_MASTER_CANCELQUERY:
+                        clientData = requestCancelQuery.processRequest(clientData, s);
+                        break;
+                    default:
+                        clientData = requestUnknown.processRequest(clientData, s);
+                        break;
+                }
+                // Return to sender
+                int requestReply = clientData.requestReply;
+                key.attach(clientData);
+                server.send(new PendingRequest(key, requestReply));
+            } catch (Exception e){
+                LOG.error("Unexpected Exception", e);
             }
-            // Return to sender
-            int requestReply = clientData.requestReply;
-            key.attach(clientData);
-            server.send(new PendingRequest(key, requestReply));
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/3b9cb971/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestCancelQuery.java
----------------------------------------------------------------------
diff --git a/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestCancelQuery.java b/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestCancelQuery.java
index f0ba9c5..da6040a 100644
--- a/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestCancelQuery.java
+++ b/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestCancelQuery.java
@@ -189,15 +189,19 @@ public class RequestCancelQuery {
             clientData.hdr = hdr;
         } catch (UnsupportedEncodingException ue){
             if(LOG.isErrorEnabled())
-                LOG.error("RequestCancelQuery.UnsupportedEncodingException: " + s.getRemoteSocketAddress() + ": " + ue.getMessage() );
+                LOG.error("RequestCancelQuery.UnsupportedEncodingException: " + s.getRemoteSocketAddress() + ": " + ue.getMessage(), ue);
             cancelConnection = true;
         } catch (KeeperException ke){
             if(LOG.isErrorEnabled())
-                LOG.error("RequestCancelQuery.KeeperException: " + s.getRemoteSocketAddress() + ": " + ke.getMessage() );
+                LOG.error("RequestCancelQuery.KeeperException: " + s.getRemoteSocketAddress() + ": " + ke.getMessage(), ke);
             cancelConnection = true;
         } catch (InterruptedException ie){
             if(LOG.isErrorEnabled())
-                LOG.error("RequestCancelQuery.InterruptedException: " + s.getRemoteSocketAddress() + ": " + ie.getMessage() );
+                LOG.error("RequestCancelQuery.InterruptedException: " + s.getRemoteSocketAddress() + ": " + ie.getMessage(), ie);
+            cancelConnection = true;
+        } catch (Exception e){
+            if(LOG.isErrorEnabled())
+                LOG.error("RequestCancelQuery.Exception: " + s.getRemoteSocketAddress() + ": " + e.getMessage(), e);
             cancelConnection = true;
         }
         header = null;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/3b9cb971/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestGetObjectRef.java
----------------------------------------------------------------------
diff --git a/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestGetObjectRef.java b/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestGetObjectRef.java
index a24106d..62f9d99 100644
--- a/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestGetObjectRef.java
+++ b/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestGetObjectRef.java
@@ -57,11 +57,15 @@ public class RequestGetObjectRef {
             replyException = buildConnectReply(clientData);
         } catch (UnsupportedEncodingException ue){
             if(LOG.isErrorEnabled())
-                LOG.error("Exception in RequestGetObjectRef: " + s.getRemoteSocketAddress() + ": " + ue.getMessage() );
+                LOG.error("UnsupportedEncodingException in RequestGetObjectRef: " + s.getRemoteSocketAddress() + ": " + ue.getMessage(), ue);
             cancelConnection = true;
         } catch (IOException io){
             if(LOG.isErrorEnabled())
-                LOG.error("Exception in RequestGetObjectRef: " + s.getRemoteSocketAddress() + ": " + io.getMessage());
+                LOG.error("IOException in RequestGetObjectRef: " + s.getRemoteSocketAddress() + ": " + io.getMessage(), io);
+            cancelConnection = true;
+        } catch (Exception e){
+            if(LOG.isErrorEnabled())
+                LOG.error("Exception in RequestGetObjectRef: " + s.getRemoteSocketAddress() + ": " + e.getMessage(), e);
             cancelConnection = true;
         }
         // Return to sender

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/3b9cb971/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestUnknown.java
----------------------------------------------------------------------
diff --git a/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestUnknown.java b/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestUnknown.java
index e0569d4..1e5e566 100644
--- a/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestUnknown.java
+++ b/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestUnknown.java
@@ -76,7 +76,11 @@ public class RequestUnknown {
             clientData.hdr = hdr;
         } catch (UnsupportedEncodingException ue){
             if(LOG.isErrorEnabled())
-                LOG.error("Exception in RequestUnknown: " + s.getRemoteSocketAddress() + ": " + ue.getMessage() );
+                LOG.error("UnsupportedEncodingException in RequestUnknown: " + s.getRemoteSocketAddress() + ": " + ue.getMessage(), ue);
+            cancelConnection = true;
+        } catch (Exception e){
+            if(LOG.isErrorEnabled())
+                LOG.error("Exception in RequestUnknown: " + s.getRemoteSocketAddress() + ": " + e.getMessage(), e);
             cancelConnection = true;
         }
         header = null;


[2/3] incubator-trafodion git commit: change exception to concrete exception

Posted by se...@apache.org.
change exception to concrete exception


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/7b54d0e5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/7b54d0e5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/7b54d0e5

Branch: refs/heads/master
Commit: 7b54d0e5955e3311a10dc85d1b9893d1d2a63cd0
Parents: 3b9cb97
Author: mashengchen <ma...@gmail.com>
Authored: Mon Oct 16 04:09:57 2017 +0000
Committer: mashengchen <ma...@gmail.com>
Committed: Mon Oct 16 04:09:57 2017 +0000

----------------------------------------------------------------------
 .../java/org/trafodion/dcs/master/listener/ListenerWorker.java   | 1 +
 .../org/trafodion/dcs/master/listener/RequestCancelQuery.java    | 4 ++--
 .../org/trafodion/dcs/master/listener/RequestGetObjectRef.java   | 4 ++--
 .../java/org/trafodion/dcs/master/listener/RequestUnknown.java   | 4 ++--
 4 files changed, 7 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b54d0e5/dcs/src/main/java/org/trafodion/dcs/master/listener/ListenerWorker.java
----------------------------------------------------------------------
diff --git a/dcs/src/main/java/org/trafodion/dcs/master/listener/ListenerWorker.java b/dcs/src/main/java/org/trafodion/dcs/master/listener/ListenerWorker.java
index 3683618..95fba59 100644
--- a/dcs/src/main/java/org/trafodion/dcs/master/listener/ListenerWorker.java
+++ b/dcs/src/main/java/org/trafodion/dcs/master/listener/ListenerWorker.java
@@ -122,6 +122,7 @@ public class ListenerWorker extends Thread {
                 server.send(new PendingRequest(key, requestReply));
             } catch (Exception e){
                 LOG.error("Unexpected Exception", e);
+                System.exit(-1);
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b54d0e5/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestCancelQuery.java
----------------------------------------------------------------------
diff --git a/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestCancelQuery.java b/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestCancelQuery.java
index da6040a..74944c1 100644
--- a/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestCancelQuery.java
+++ b/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestCancelQuery.java
@@ -199,9 +199,9 @@ public class RequestCancelQuery {
             if(LOG.isErrorEnabled())
                 LOG.error("RequestCancelQuery.InterruptedException: " + s.getRemoteSocketAddress() + ": " + ie.getMessage(), ie);
             cancelConnection = true;
-        } catch (Exception e){
+        } catch (BufferUnderflowException e){
             if(LOG.isErrorEnabled())
-                LOG.error("RequestCancelQuery.Exception: " + s.getRemoteSocketAddress() + ": " + e.getMessage(), e);
+                LOG.error("RequestCancelQuery.BufferUnderflowException: " + s.getRemoteSocketAddress() + ": " + e.getMessage(), e);
             cancelConnection = true;
         }
         header = null;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b54d0e5/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestGetObjectRef.java
----------------------------------------------------------------------
diff --git a/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestGetObjectRef.java b/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestGetObjectRef.java
index 62f9d99..99abf85 100644
--- a/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestGetObjectRef.java
+++ b/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestGetObjectRef.java
@@ -63,9 +63,9 @@ public class RequestGetObjectRef {
             if(LOG.isErrorEnabled())
                 LOG.error("IOException in RequestGetObjectRef: " + s.getRemoteSocketAddress() + ": " + io.getMessage(), io);
             cancelConnection = true;
-        } catch (Exception e){
+        } catch (BufferUnderflowException e){
             if(LOG.isErrorEnabled())
-                LOG.error("Exception in RequestGetObjectRef: " + s.getRemoteSocketAddress() + ": " + e.getMessage(), e);
+                LOG.error("BufferUnderflowException in RequestGetObjectRef: " + s.getRemoteSocketAddress() + ": " + e.getMessage(), e);
             cancelConnection = true;
         }
         // Return to sender

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7b54d0e5/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestUnknown.java
----------------------------------------------------------------------
diff --git a/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestUnknown.java b/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestUnknown.java
index 1e5e566..122429f 100644
--- a/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestUnknown.java
+++ b/dcs/src/main/java/org/trafodion/dcs/master/listener/RequestUnknown.java
@@ -78,9 +78,9 @@ public class RequestUnknown {
             if(LOG.isErrorEnabled())
                 LOG.error("UnsupportedEncodingException in RequestUnknown: " + s.getRemoteSocketAddress() + ": " + ue.getMessage(), ue);
             cancelConnection = true;
-        } catch (Exception e){
+        } catch (BufferUnderflowException e){
             if(LOG.isErrorEnabled())
-                LOG.error("Exception in RequestUnknown: " + s.getRemoteSocketAddress() + ": " + e.getMessage(), e);
+                LOG.error("BufferUnderflowException in RequestUnknown: " + s.getRemoteSocketAddress() + ": " + e.getMessage(), e);
             cancelConnection = true;
         }
         header = null;


[3/3] incubator-trafodion git commit: Merge PR 1209 [TRAFODION-2717] odbc give wrong data and dcsmaster hang

Posted by se...@apache.org.
Merge PR 1209 [TRAFODION-2717] odbc give wrong data and dcsmaster hang


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/d283c95e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/d283c95e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/d283c95e

Branch: refs/heads/master
Commit: d283c95eea4cbde954beb7c201b34d082d6a8fd4
Parents: e8bdaba 7b54d0e
Author: selvaganesang <se...@apache.org>
Authored: Mon Oct 16 20:03:51 2017 +0000
Committer: selvaganesang <se...@apache.org>
Committed: Mon Oct 16 20:03:51 2017 +0000

----------------------------------------------------------------------
 .../dcs/master/listener/ListenerWorker.java     | 65 +++++++++++---------
 .../dcs/master/listener/RequestCancelQuery.java | 10 ++-
 .../master/listener/RequestGetObjectRef.java    |  8 ++-
 .../dcs/master/listener/RequestUnknown.java     |  6 +-
 4 files changed, 53 insertions(+), 36 deletions(-)
----------------------------------------------------------------------