Details
-
Enhancement
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
-
None
Description
If you want to use the Protobufmarchaller for larger objects the following exception occurs:
at org.infinispan.client.hotrod.marshall.MarshallerUtil.bytes2obj(MarshallerUtil.java:49) at org.infinispan.client.hotrod.impl.protocol.CodecUtils.readUnmarshallByteArray(CodecUtils.java:38) at org.infinispan.client.hotrod.impl.protocol.Codec20.readUnmarshallByteArray(Codec20.java:54) at org.infinispan.client.hotrod.impl.operations.GetOperation.executeOperation(GetOperation.java:36) at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:56) at org.infinispan.client.hotrod.impl.RemoteCacheImpl.get(RemoteCacheImpl.java:367) at com.channelpilot.api.tabledata.RemoteCacheConnector.get(RemoteCacheConnector.java:49) at com.channelpilot.api.tabledata.TableDataService.get(TableDataService.java:91) at com.channelpilot.api.tabledata.build.ControlDataBuilder.build(ControlDataBuilder.java:48) at com.channelpilot.api.frontend.jobs.threads.BuildTableDataJob.execute(BuildTableDataJob.java:72) at com.channelpilot.api.frontend.jobs.threads.BuildTableDataJob.execute(BuildTableDataJob.java:31) at com.channelpilot.utils.concurrent.CPCallable.call(CPCallable.java:105) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: protostream.com.google.protobuf.InvalidProtocolBufferException: Protocol message was too large. May be malicious. Use CodedInputStream.setSizeLimit() to increase the size limit. at protostream.com.google.protobuf.InvalidProtocolBufferException.sizeLimitExceeded(InvalidProtocolBufferException.java:122) at protostream.com.google.protobuf.CodedInputStream.readRawBytesSlowPath(CodedInputStream.java:1166) at protostream.com.google.protobuf.CodedInputStream.readByteArray(CodedInputStream.java:535) at org.infinispan.protostream.impl.RawProtoStreamReaderImpl.readByteArray(RawProtoStreamReaderImpl.java:105) at org.infinispan.protostream.WrappedMessage.readMessage(WrappedMessage.java:232) at org.infinispan.protostream.ProtobufUtil.fromWrappedByteArray(ProtobufUtil.java:122) at org.infinispan.query.remote.client.BaseProtoStreamMarshaller.objectFromByteBuffer(BaseProtoStreamMarshaller.java:32) at org.infinispan.commons.marshall.AbstractMarshaller.objectFromByteBuffer(AbstractMarshaller.java:82) at org.infinispan.client.hotrod.marshall.MarshallerUtil.bytes2obj(MarshallerUtil.java:33)
According to the official protobuf-documentation one should increase the size-limit, if this exception is thrown. Within infinispan there is no possibility to change this size in some way.
Adding the to for example a configurationbuilder or similar, would be a good improvement.