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 + ']');
+ }
}
/**