You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Igor Sapego (Jira)" <ji...@apache.org> on 2022/07/18 20:07:00 UTC
[jira] [Created] (IGNITE-17387) Protocol version mismatch in case of a long password
Igor Sapego created IGNITE-17387:
------------------------------------
Summary: Protocol version mismatch in case of a long password
Key: IGNITE-17387
URL: https://issues.apache.org/jira/browse/IGNITE-17387
Project: Ignite
Issue Type: Bug
Components: thin client
Reporter: Igor Sapego
Assignee: Igor Sapego
If user specifies a password longer than 64k (with the default conf) we get a protocol mismatch error:
org.apache.ignite.internal.client.thin.ClientProtocolError: Protocol version mismatch: client 1.7.0 / server 2.8.0. Server details: Unsupported version: 1.0.0
It happens because of the overflow of socket send buffer (limit is 64K see https://docs.oracle.com/javase/7/docs/api/java/net/ServerSocket.html#setReceiveBufferSize(int) ).
So WA is to extend default socket buffers size and add limitation to their passwords sizes (e.g restrict max password size to 32K).
// if password is about 60K it will be OK for default config, if more than 64K you will receive version protocol error (because
// TcpClientChannel would read wrong data from buffer). Here we extend default buffer sizes to 100K to bypass this issue.
new ClientConnectorConfiguration()
.setSocketSendBufferSize(100 * 1024)
.setSocketReceiveBufferSize(100 * 1024)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)