[jira] [Commented] (IGNITE-13401) Unsupported protocol version exception when getting cache configuration from Java thin client

2020-09-11 Thread Denis Garus (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17194098#comment-17194098
 ] 

Denis Garus commented on IGNITE-13401:
--

[~alex_pl], hello!
Your PR looks good for me.

> Unsupported protocol version exception when getting cache configuration from 
> Java thin client
> -
>
> Key: IGNITE-13401
> URL: https://issues.apache.org/jira/browse/IGNITE-13401
> Project: Ignite
>  Issue Type: Bug
>  Components: thin client
>Affects Versions: 2.8.1
>Reporter: Marcus Lo
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> We encounter BinaryObjectException: Unsupported protocol version: 8 in one of 
> our tables in Ignite when querying cache configuration via Java thin client. 
> To reproduce:
>  # Setup Ignite with persistence disabled (single node)
>  # Create the follow table:
> {code:java}
> CREATE TABLE IF NOT EXISTS LEOD_CONTEXT_STATUS
> (
> flashNode VARCHAR   NOT NULL,
> legalEntity   VARCHAR   NOT NULL,
> account   VARCHAR   NOT NULL,
> userIdVARCHAR   NOT NULL,
> eqtgContext   VARCHAR   NOT NULL,
> submissionDateINT   NOT NULL,
> actionVARCHAR   NOT NULL,
> actionTimeTIME  NOT NULL,
> runNumber INT   NOT NULL,
> segment   VARCHAR   NOT NULL,
> geography VARCHAR   NOT NULL,
> priceVersion  VARCHAR   NOT NULL,
> statusVARCHAR   NOT NULL,
> errorCountINT   NOT NULL,
> comments  VARCHAR,
> equityDeltaLowerBound DOUBLE,
> equityDeltaUpperBound DOUBLE,
> equityDeltaUtil   DOUBLE,
> equityVegaLowerBound  DOUBLE,
> equityVegaUpperBound  DOUBLE,
> equityVegaUtilDOUBLE,
> lastUpdateTimeTIMESTAMP NOT NULL,
> PRIMARY KEY (flashNode, legalEntity, account, submissionDate)
> )
> WITH "template=REPLICATED, cache_name=LeodContextStatusCache";{code}
>  # Run the following test (in Kotlin):
> {code:java}
> @Test
> fun `moo`() {
> val config = ClientConfiguration()
> .setAddresses("localhost:10800")
> val ignite = Ignition.startClient(config)
> ignite.cache("LeodContextStatusCache")
> .configuration
> }
> {code}
>  # It fails in the following exception:
> {code:java}
> class org.apache.ignite.binary.BinaryObjectException: Unsupported protocol 
> version: 8
>  at 
> org.apache.ignite.internal.binary.BinaryUtils.checkProtocolVersion(BinaryUtils.java:796)
>  at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.(BinaryReaderExImpl.java:221)
>  at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.(BinaryReaderExImpl.java:186)
>  at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.(BinaryReaderExImpl.java:165)
>  at 
> org.apache.ignite.internal.client.thin.ClientUtils.cacheConfiguration(ClientUtils.java:381)
>  at 
> org.apache.ignite.internal.client.thin.TcpClientCache.lambda$getConfiguration$2(TcpClientCache.java:160)
>  at 
> org.apache.ignite.internal.client.thin.TcpClientChannel.receive(TcpClientChannel.java:247)
>  at 
> org.apache.ignite.internal.client.thin.TcpClientChannel.service(TcpClientChannel.java:171)
>  at 
> org.apache.ignite.internal.client.thin.ReliableChannel.service(ReliableChannel.java:180)
>  at 
> org.apache.ignite.internal.client.thin.TcpClientCache.getConfiguration(TcpClientCache.java:155)
> {code}
> I notice that if any one of the columns is removed, the issue disappears.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-13401) Unsupported protocol version exception when getting cache configuration from Java thin client

2020-09-04 Thread Ignite TC Bot (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17190733#comment-17190733
 ] 

Ignite TC Bot commented on IGNITE-13401:


{panel:title=Branch: [pull/8216/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/8216/head] Base: [master] : New Tests 
(2)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Thin Client: Java{color} [[tests 
2|https://ci.ignite.apache.org/viewLog.html?buildId=5583342]]
* {color:#013220}ClientTestSuite: 
IgniteBinaryTest.testBinaryTypeWithIdOfMarshallerHeader - PASSED{color}
* {color:#013220}ClientTestSuite: 
ClientCacheConfigurationTest.testDifferentSizeCacheConfiguration - PASSED{color}

{panel}
[TeamCity *-- Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=5583438buildTypeId=IgniteTests24Java8_RunAll]

> Unsupported protocol version exception when getting cache configuration from 
> Java thin client
> -
>
> Key: IGNITE-13401
> URL: https://issues.apache.org/jira/browse/IGNITE-13401
> Project: Ignite
>  Issue Type: Bug
>  Components: thin client
>Affects Versions: 2.8.1
>Reporter: Marcus Lo
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> We encounter BinaryObjectException: Unsupported protocol version: 8 in one of 
> our tables in Ignite when querying cache configuration via Java thin client. 
> To reproduce:
>  # Setup Ignite with persistence disabled (single node)
>  # Create the follow table:
> {code:java}
> CREATE TABLE IF NOT EXISTS LEOD_CONTEXT_STATUS
> (
> flashNode VARCHAR   NOT NULL,
> legalEntity   VARCHAR   NOT NULL,
> account   VARCHAR   NOT NULL,
> userIdVARCHAR   NOT NULL,
> eqtgContext   VARCHAR   NOT NULL,
> submissionDateINT   NOT NULL,
> actionVARCHAR   NOT NULL,
> actionTimeTIME  NOT NULL,
> runNumber INT   NOT NULL,
> segment   VARCHAR   NOT NULL,
> geography VARCHAR   NOT NULL,
> priceVersion  VARCHAR   NOT NULL,
> statusVARCHAR   NOT NULL,
> errorCountINT   NOT NULL,
> comments  VARCHAR,
> equityDeltaLowerBound DOUBLE,
> equityDeltaUpperBound DOUBLE,
> equityDeltaUtil   DOUBLE,
> equityVegaLowerBound  DOUBLE,
> equityVegaUpperBound  DOUBLE,
> equityVegaUtilDOUBLE,
> lastUpdateTimeTIMESTAMP NOT NULL,
> PRIMARY KEY (flashNode, legalEntity, account, submissionDate)
> )
> WITH "template=REPLICATED, cache_name=LeodContextStatusCache";{code}
>  # Run the following test (in Kotlin):
> {code:java}
> @Test
> fun `moo`() {
> val config = ClientConfiguration()
> .setAddresses("localhost:10800")
> val ignite = Ignition.startClient(config)
> ignite.cache("LeodContextStatusCache")
> .configuration
> }
> {code}
>  # It fails in the following exception:
> {code:java}
> class org.apache.ignite.binary.BinaryObjectException: Unsupported protocol 
> version: 8
>  at 
> org.apache.ignite.internal.binary.BinaryUtils.checkProtocolVersion(BinaryUtils.java:796)
>  at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.(BinaryReaderExImpl.java:221)
>  at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.(BinaryReaderExImpl.java:186)
>  at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.(BinaryReaderExImpl.java:165)
>  at 
> org.apache.ignite.internal.client.thin.ClientUtils.cacheConfiguration(ClientUtils.java:381)
>  at 
> org.apache.ignite.internal.client.thin.TcpClientCache.lambda$getConfiguration$2(TcpClientCache.java:160)
>  at 
> org.apache.ignite.internal.client.thin.TcpClientChannel.receive(TcpClientChannel.java:247)
>  at 
> org.apache.ignite.internal.client.thin.TcpClientChannel.service(TcpClientChannel.java:171)
>  at 
> org.apache.ignite.internal.client.thin.ReliableChannel.service(ReliableChannel.java:180)
>  at 
> org.apache.ignite.internal.client.thin.TcpClientCache.getConfiguration(TcpClientCache.java:155)
> {code}
> I notice that if any one of the columns is removed, the issue disappears.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-13401) Unsupported protocol version exception when getting cache configuration from Java thin client

2020-09-03 Thread Aleksey Plekhanov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17190186#comment-17190186
 ] 

Aleksey Plekhanov commented on IGNITE-13401:


[~marcuslo], thanks for the report!

The root cause of the problem: first byte of your serialized configuration is 
103 (length of configuration % 256), it's wrongly treated by thin client 
marshaller as start of the new object, but actually it's just count of bytes to 
read. Marshaller tries to deserialize this object and fails.

Workaround: change something in your cache configuration to change it 
serialized length (for example change name of some field, change cache name, 
add some dummy field etc.)  

> Unsupported protocol version exception when getting cache configuration from 
> Java thin client
> -
>
> Key: IGNITE-13401
> URL: https://issues.apache.org/jira/browse/IGNITE-13401
> Project: Ignite
>  Issue Type: Bug
>  Components: thin client
>Affects Versions: 2.8.1
>Reporter: Marcus Lo
>Assignee: Aleksey Plekhanov
>Priority: Major
>
> We encounter BinaryObjectException: Unsupported protocol version: 8 in one of 
> our tables in Ignite when querying cache configuration via Java thin client. 
> To reproduce:
>  # Setup Ignite with persistence disabled (single node)
>  # Create the follow table:
> {code:java}
> CREATE TABLE IF NOT EXISTS LEOD_CONTEXT_STATUS
> (
> flashNode VARCHAR   NOT NULL,
> legalEntity   VARCHAR   NOT NULL,
> account   VARCHAR   NOT NULL,
> userIdVARCHAR   NOT NULL,
> eqtgContext   VARCHAR   NOT NULL,
> submissionDateINT   NOT NULL,
> actionVARCHAR   NOT NULL,
> actionTimeTIME  NOT NULL,
> runNumber INT   NOT NULL,
> segment   VARCHAR   NOT NULL,
> geography VARCHAR   NOT NULL,
> priceVersion  VARCHAR   NOT NULL,
> statusVARCHAR   NOT NULL,
> errorCountINT   NOT NULL,
> comments  VARCHAR,
> equityDeltaLowerBound DOUBLE,
> equityDeltaUpperBound DOUBLE,
> equityDeltaUtil   DOUBLE,
> equityVegaLowerBound  DOUBLE,
> equityVegaUpperBound  DOUBLE,
> equityVegaUtilDOUBLE,
> lastUpdateTimeTIMESTAMP NOT NULL,
> PRIMARY KEY (flashNode, legalEntity, account, submissionDate)
> )
> WITH "template=REPLICATED, cache_name=LeodContextStatusCache";{code}
>  # Run the following test (in Kotlin):
> {code:java}
> @Test
> fun `moo`() {
> val config = ClientConfiguration()
> .setAddresses("localhost:10800")
> val ignite = Ignition.startClient(config)
> ignite.cache("LeodContextStatusCache")
> .configuration
> }
> {code}
>  # It fails in the following exception:
> {code:java}
> class org.apache.ignite.binary.BinaryObjectException: Unsupported protocol 
> version: 8
>  at 
> org.apache.ignite.internal.binary.BinaryUtils.checkProtocolVersion(BinaryUtils.java:796)
>  at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.(BinaryReaderExImpl.java:221)
>  at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.(BinaryReaderExImpl.java:186)
>  at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.(BinaryReaderExImpl.java:165)
>  at 
> org.apache.ignite.internal.client.thin.ClientUtils.cacheConfiguration(ClientUtils.java:381)
>  at 
> org.apache.ignite.internal.client.thin.TcpClientCache.lambda$getConfiguration$2(TcpClientCache.java:160)
>  at 
> org.apache.ignite.internal.client.thin.TcpClientChannel.receive(TcpClientChannel.java:247)
>  at 
> org.apache.ignite.internal.client.thin.TcpClientChannel.service(TcpClientChannel.java:171)
>  at 
> org.apache.ignite.internal.client.thin.ReliableChannel.service(ReliableChannel.java:180)
>  at 
> org.apache.ignite.internal.client.thin.TcpClientCache.getConfiguration(TcpClientCache.java:155)
> {code}
> I notice that if any one of the columns is removed, the issue disappears.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)