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 <[email protected]>
AuthorDate: Mon Nov 18 12:18:42 2019 +0300
IGNITE-12369 Fix compatibility between JdbcThinClient and Server - Fixes
#7050.
Signed-off-by: ipavlukhin <[email protected]>
---
.../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) {