[Red Hat JIRA] (ISPN-11024) Unable to use binary memory eviction with protobuf
by Pedro Ruivo (Jira)
[ https://issues.redhat.com/browse/ISPN-11024?page=com.atlassian.jira.plugi... ]
Pedro Ruivo updated ISPN-11024:
-------------------------------
Fix Version/s: 11.0.10.Final
(was: 11.0.9.Final)
> Unable to use binary memory eviction with protobuf
> --------------------------------------------------
>
> Key: ISPN-11024
> URL: https://issues.redhat.com/browse/ISPN-11024
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 10.0.1.Final
> Reporter: Jens Reimann
> Assignee: Will Burns
> Priority: Critical
> Fix For: 11.0.10.Final
>
>
> Enabling binary eviction, e.g.:
> {code:xml}
> <memory>
> <binary strategy="REMOVE" size="134217728" eviction="MEMORY"/>
> </memory>
> {code}
> When storing protobuf based types, throws the following exception:
> {code}
> 15:36:29,859 ERROR [org.infinispan.interceptors.impl.InvocationContextInterceptor] (async-thread--p2-t18) ISPN000136: Error executing command PrepareCommand on Cache 'devices', writing keys []: java.lang.IllegalArgumentException: Size of Class class org.infinispan.query.remote.impl.indexing.ProtobufValueWrapper cannot be determined using given entry size calculator :class org.infinispan.container.entries.PrimitiveEntrySizeCalculator
> {code}
> As protobuf produces a binary representation of the data, it is possible to calculate a size for that object.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 3 months
[Red Hat JIRA] (ISPN-12627) Per-cache Hot Rod configuration ignore transaction mode
by Pedro Ruivo (Jira)
Pedro Ruivo created ISPN-12627:
----------------------------------
Summary: Per-cache Hot Rod configuration ignore transaction mode
Key: ISPN-12627
URL: https://issues.redhat.com/browse/ISPN-12627
Project: Infinispan
Issue Type: Bug
Components: Hot Rod
Reporter: Pedro Ruivo
Assignee: Pedro Ruivo
The method {{org.infinispan.client.hotrod.RemoteCacheManager#createRemoteCache()}} ignores the {{RemoteCacheConfiguration}} when it inspects the {{TransactionMode}}.
It should inspect the {{RemoteCacheConfiguration}}, then the global {{Configuration}}.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 3 months
[Red Hat JIRA] (ISPN-12616) Rolling Upgrade fails for caches storing POJOs
by Gustavo Fernandes (Jira)
[ https://issues.redhat.com/browse/ISPN-12616?page=com.atlassian.jira.plugi... ]
Gustavo Fernandes updated ISPN-12616:
-------------------------------------
Fix Version/s: 12.0.0.Final
> Rolling Upgrade fails for caches storing POJOs
> ----------------------------------------------
>
> Key: ISPN-12616
> URL: https://issues.redhat.com/browse/ISPN-12616
> Project: Infinispan
> Issue Type: Bug
> Components: Hot Rod, Loaders and Stores
> Affects Versions: 12.0.0.CR1, 11.0.8.Final
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
> Priority: Major
> Fix For: 12.0.0.Final, 11.0.9.Final
>
>
> The Remote Store does not support transcoding yet, and the data conversions are done implicitly by combining the 'hotRodWrapping', 'marshaller' and 'rawValues' configurations.
> The rolling upgrade process forces the remote store to use 'hotRodWrapping', that prevents consuming a cache that stores "application/x-java-objects", since it assumes the data is already in "application/x-jboss-marshalling" format, causing lots of internal issues.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 3 months
[Red Hat JIRA] (ISPN-12626) Document @ProtoAdaptor for marshalling of external classes
by Ryan Emerson (Jira)
[ https://issues.redhat.com/browse/ISPN-12626?page=com.atlassian.jira.plugi... ]
Ryan Emerson commented on ISPN-12626:
-------------------------------------
UUID is a good example of a third party class to include in the docs, as this is often requested by users.
> Document @ProtoAdaptor for marshalling of external classes
> ----------------------------------------------------------
>
> Key: ISPN-12626
> URL: https://issues.redhat.com/browse/ISPN-12626
> Project: Infinispan
> Issue Type: Task
> Components: Documentation
> Affects Versions: 12.0.0.CR1
> Reporter: Ryan Emerson
> Assignee: Donald Naro
> Priority: Major
> Fix For: 12.0.0.Final
>
>
> Protostream 4.4.0.Alpha4 added support for automatically generating marshallers for external classes via the {{@ProtoAdaptor}} field. This greatly simplifies how a user can marshall third party classes, as it's no longer necessary to implement the {{MessageMarshaller}} interface and explicitly create a {{SerializationContextInitializer}} implementation.
> Process for using {{@ProtoAdaptor}}
> 1. Create an adaptor class and add the {{@ProtoAdaptor}} annotation
> {code:java}
> @ProtoAdapter(UUID.class)
> public class UUIDAdapter {
> @ProtoFactory
> UUID create(Long mostSigBitsFixed, Long leastSigBitsFixed) {
> return new UUID(mostSigBitsFixed, leastSigBitsFixed);
> }
> @ProtoField(number = 1, type = Type.FIXED64, defaultValue = "0")
> Long getMostSigBitsFixed(UUID uuid) {
> return uuid.getMostSignificantBits();
> }
> @ProtoField(number = 2, type = Type.FIXED64, defaultValue = "0")
> Long getLeastSigBitsFixed(UUID uuid) {
> return uuid.getLeastSignificantBits();
> }
> }
> {code}
> 2. Register {{UUIDAdapter}} with your {{SerialiazationContextInitializer}} interface (LibraryInitializer in the docs examples).
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 3 months