You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/08/25 08:39:48 UTC

[06/18] ignite git commit: IGNITE-6169: Fixed thin JDBC driver compatibility problem.

IGNITE-6169: Fixed thin JDBC driver compatibility problem.


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

Branch: refs/heads/ignite-6149
Commit: d22631e647280eff9f661dd7cfd492a6ba7460af
Parents: bebe4d8
Author: tledkov-gridgain <tl...@gridgain.com>
Authored: Wed Aug 23 15:46:23 2017 +0300
Committer: devozerov <vo...@gridgain.com>
Committed: Wed Aug 23 15:46:23 2017 +0300

----------------------------------------------------------------------
 .../internal/jdbc/thin/JdbcThinTcpIo.java       | 37 +++++++++++---------
 1 file changed, 20 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/d22631e6/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java b/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java
index e124921..fdec77e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/jdbc/thin/JdbcThinTcpIo.java
@@ -219,30 +219,33 @@ public class JdbcThinTcpIo {
         boolean accepted = reader.readBoolean();
 
         if (accepted) {
-            byte maj = reader.readByte();
-            byte min = reader.readByte();
-            byte maintenance = reader.readByte();
+            if (reader.available() > 0) {
+                byte maj = reader.readByte();
+                byte min = reader.readByte();
+                byte maintenance = reader.readByte();
 
-            String stage = reader.readString();
+                String stage = reader.readString();
 
-            long ts = reader.readLong();
-            byte[] hash = reader.readByteArray();
+                long ts = reader.readLong();
+                byte[] hash = reader.readByteArray();
 
-            igniteVer = new IgniteProductVersion(maj, min, maintenance, stage, ts, hash);
-
-            return;
+                igniteVer = new IgniteProductVersion(maj, min, maintenance, stage, ts, hash);
+            }
+            else
+                igniteVer = new IgniteProductVersion((byte)2, (byte)0, (byte)0, "Unknown", 0L, null);
         }
+        else {
+            short maj = reader.readShort();
+            short min = reader.readShort();
+            short maintenance = reader.readShort();
 
-        short maj = reader.readShort();
-        short min = reader.readShort();
-        short maintenance = reader.readShort();
+            String err = reader.readString();
 
-        String err = reader.readString();
+            SqlListenerProtocolVersion ver = SqlListenerProtocolVersion.create(maj, min, maintenance);
 
-        SqlListenerProtocolVersion ver = SqlListenerProtocolVersion.create(maj, min, maintenance);
-
-        throw new IgniteCheckedException("Handshake failed [driverProtocolVer=" + CURRENT_VER +
-            ", remoteNodeProtocolVer=" + ver + ", err=" + err + ']');
+            throw new IgniteCheckedException("Handshake failed [driverProtocolVer=" + CURRENT_VER +
+                ", remoteNodeProtocolVer=" + ver + ", err=" + err + ']');
+        }
     }
 
     /**