Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.8.1
-
Java thin client: Fixed unmarshalling failure when cache configuration message or binary type message start with byte 103
-
Release Notes Required
Description
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:
CREATE TABLE IF NOT EXISTS LEOD_CONTEXT_STATUS
(
flashNode VARCHAR NOT NULL,
legalEntity VARCHAR NOT NULL,
account VARCHAR NOT NULL,
userId VARCHAR NOT NULL,
eqtgContext VARCHAR NOT NULL,
submissionDate INT NOT NULL,
action VARCHAR NOT NULL,
actionTime TIME NOT NULL,
runNumber INT NOT NULL,
segment VARCHAR NOT NULL,
geography VARCHAR NOT NULL,
priceVersion VARCHAR NOT NULL,
status VARCHAR NOT NULL,
errorCount INT NOT NULL,
comments VARCHAR,
equityDeltaLowerBound DOUBLE,
equityDeltaUpperBound DOUBLE,
equityDeltaUtil DOUBLE,
equityVegaLowerBound DOUBLE,
equityVegaUpperBound DOUBLE,
equityVegaUtil DOUBLE,
lastUpdateTime TIMESTAMP NOT NULL,
PRIMARY KEY (flashNode, legalEntity, account, submissionDate)
)
WITH "template=REPLICATED, cache_name=LeodContextStatusCache";
- Run the following test (in Kotlin):
@Test fun `moo`() { val config = ClientConfiguration() .setAddresses("localhost:10800") val ignite = Ignition.startClient(config) ignite.cache<Any, Any>("LeodContextStatusCache") .configuration }
- It fails in the following exception:
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.<init>(BinaryReaderExImpl.java:221) at org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:186) at org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(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)
I notice that if any one of the columns is removed, the issue disappears.
Attachments
Issue Links
- links to