[ https://issues.apache.org/jira/browse/IGNITE-17387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Igor Sapego updated IGNITE-17387: --------------------------------- Fix Version/s: 2.14 > 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 > Affects Versions: 2.13 > Reporter: Igor Sapego > Assignee: Igor Sapego > Priority: Major > Fix For: 2.14 > > Time Spent: 10m > Remaining Estimate: 0h > > If user specifies a password longer than 64k (with the default conf) we get a > protocol mismatch error: > {code} > 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 > {code} > 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). > {code} > // 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) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)