This is an automated email from the ASF dual-hosted git repository.

ipavlukhin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 567f65a  IGNITE-12369 Fix compatibility between JdbcThinClient and 
Server - Fixes #7050.
567f65a is described below

commit 567f65abc1c14ec4dc3ecfdc909d139a91b808eb
Author: korlov42 <kor...@gridgain.com>
AuthorDate: Mon Nov 18 12:18:42 2019 +0300

    IGNITE-12369 Fix compatibility between JdbcThinClient and Server - Fixes 
#7050.
    
    Signed-off-by: ipavlukhin <vololo...@gmail.com>
---
 .../ignite/internal/processors/odbc/ClientListenerProcessor.java  | 2 +-
 .../internal/processors/odbc/ClientListenerRequestHandler.java    | 8 ++++++++
 .../ignite/internal/processors/odbc/jdbc/JdbcRequestHandler.java  | 2 +-
 .../ignite/internal/processors/odbc/odbc/OdbcRequestHandler.java  | 5 +++++
 .../internal/processors/platform/client/ClientRequestHandler.java | 4 ++++
 5 files changed, 19 insertions(+), 2 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerProcessor.java
index 1902755..f017528 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerProcessor.java
@@ -280,7 +280,7 @@ public class ClientListenerProcessor extends 
GridProcessorAdapter {
             @Override public void onMessageReceived(GridNioSession ses, Object 
msg) throws IgniteCheckedException {
                 ClientListenerConnectionContext connCtx = 
ses.meta(ClientListenerNioListener.CONN_CTX_META_KEY);
 
-                if (connCtx != null && connCtx.parser() != null) {
+                if (connCtx != null && connCtx.parser() != null && 
connCtx.handler().isCancellationSupported()) {
                     byte[] inMsg;
 
                     int cmdType;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerRequestHandler.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerRequestHandler.java
index dc89f78..e6a1b8b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerRequestHandler.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerRequestHandler.java
@@ -47,6 +47,14 @@ public interface ClientListenerRequestHandler {
      */
     void writeHandshake(BinaryWriterExImpl writer);
 
+
+    /**
+     * Checks whether query cancellation is supported within given version of 
protocol.
+     *
+     * @return {@code true} if supported, {@code false} otherwise.
+     */
+    boolean isCancellationSupported();
+
     /**
      * Detect whether given command is a cancellation command.
      *
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcRequestHandler.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcRequestHandler.java
index 04909d0..1050283 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcRequestHandler.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/jdbc/JdbcRequestHandler.java
@@ -1354,7 +1354,7 @@ public class JdbcRequestHandler implements 
ClientListenerRequestHandler {
      *
      * @return True if supported, false otherwise.
      */
-    private boolean isCancellationSupported() {
+    @Override public boolean isCancellationSupported() {
         return (protocolVer.compareTo(VER_2_8_0) >= 0);
     }
 
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/odbc/OdbcRequestHandler.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/odbc/OdbcRequestHandler.java
index d285ba2..44ad832 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/odbc/OdbcRequestHandler.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/odbc/OdbcRequestHandler.java
@@ -311,6 +311,11 @@ public class OdbcRequestHandler implements 
ClientListenerRequestHandler {
     }
 
     /** {@inheritDoc} */
+    @Override public boolean isCancellationSupported() {
+        return false;
+    }
+
+    /** {@inheritDoc} */
     @Override public void registerRequest(long reqId, int cmdType) {
         // No-op.
     }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/client/ClientRequestHandler.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/client/ClientRequestHandler.java
index 11714ef..7fd4222 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/client/ClientRequestHandler.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/client/ClientRequestHandler.java
@@ -131,6 +131,10 @@ public class ClientRequestHandler implements 
ClientListenerRequestHandler {
         return false;
     }
 
+    /** {@inheritDoc} */
+    @Override public boolean isCancellationSupported() {
+        return false;
+    }
 
     /** {@inheritDoc} */
     @Override public void registerRequest(long reqId, int cmdType) {

Reply via email to