[JBoss JIRA] (IPROTO-103) Not possible to have @Protofield of type List<byte[]>
by Ryan Emerson (Jira)
[ https://issues.jboss.org/browse/IPROTO-103?page=com.atlassian.jira.plugin... ]
Ryan Emerson reassigned IPROTO-103:
-----------------------------------
Assignee: Nistor Adrian
> Not possible to have @Protofield of type List<byte[]>
> -----------------------------------------------------
>
> Key: IPROTO-103
> URL: https://issues.jboss.org/browse/IPROTO-103
> Project: Infinispan ProtoStream
> Issue Type: Bug
> Affects Versions: 4.3.0.Alpha8
> Reporter: Ryan Emerson
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha9
>
>
> {code:java}
> static final class ExpiryBucket {
> @ProtoField(number = 1, collectionImplementation = ArrayList.class)
> List<byte[]> entries;
> ExpiryBucket() {}
> ExpiryBucket(byte[]... entries) {
> this.entries = Arrays.asList(entries);
> }
> }
> {code}
> Error:
> {code:java}
> PersistenceContextInitializer.java:[19,1] org.infinispan.protostream.annotations.ProtoSchemaBuilderException: The class byte[] must be instantiable using an accessible no-argument constructor.
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 5 months
[JBoss JIRA] (IPROTO-103) Not possible to have @Protofield of type List<byte[]>
by Ryan Emerson (Jira)
[ https://issues.jboss.org/browse/IPROTO-103?page=com.atlassian.jira.plugin... ]
Ryan Emerson updated IPROTO-103:
--------------------------------
Affects Version/s: 4.3.0.Alpha8
> Not possible to have @Protofield of type List<byte[]>
> -----------------------------------------------------
>
> Key: IPROTO-103
> URL: https://issues.jboss.org/browse/IPROTO-103
> Project: Infinispan ProtoStream
> Issue Type: Bug
> Affects Versions: 4.3.0.Alpha8
> Reporter: Ryan Emerson
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha9
>
>
> {code:java}
> static final class ExpiryBucket {
> @ProtoField(number = 1, collectionImplementation = ArrayList.class)
> List<byte[]> entries;
> ExpiryBucket() {}
> ExpiryBucket(byte[]... entries) {
> this.entries = Arrays.asList(entries);
> }
> }
> {code}
> Error:
> {code:java}
> PersistenceContextInitializer.java:[19,1] org.infinispan.protostream.annotations.ProtoSchemaBuilderException: The class byte[] must be instantiable using an accessible no-argument constructor.
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 5 months
[JBoss JIRA] (IPROTO-103) Not possible to have @Protofield of type List<byte[]>
by Ryan Emerson (Jira)
[ https://issues.jboss.org/browse/IPROTO-103?page=com.atlassian.jira.plugin... ]
Ryan Emerson updated IPROTO-103:
--------------------------------
Fix Version/s: 4.3.0.Alpha9
> Not possible to have @Protofield of type List<byte[]>
> -----------------------------------------------------
>
> Key: IPROTO-103
> URL: https://issues.jboss.org/browse/IPROTO-103
> Project: Infinispan ProtoStream
> Issue Type: Bug
> Affects Versions: 4.3.0.Alpha8
> Reporter: Ryan Emerson
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha9
>
>
> {code:java}
> static final class ExpiryBucket {
> @ProtoField(number = 1, collectionImplementation = ArrayList.class)
> List<byte[]> entries;
> ExpiryBucket() {}
> ExpiryBucket(byte[]... entries) {
> this.entries = Arrays.asList(entries);
> }
> }
> {code}
> Error:
> {code:java}
> PersistenceContextInitializer.java:[19,1] org.infinispan.protostream.annotations.ProtoSchemaBuilderException: The class byte[] must be instantiable using an accessible no-argument constructor.
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 5 months
[JBoss JIRA] (IPROTO-103) Not possible to have @ProtoField of type List<byte[]>
by Ryan Emerson (Jira)
[ https://issues.jboss.org/browse/IPROTO-103?page=com.atlassian.jira.plugin... ]
Ryan Emerson updated IPROTO-103:
--------------------------------
Summary: Not possible to have @ProtoField of type List<byte[]> (was: Not possible to have @Protofield of type List<byte[]>)
> Not possible to have @ProtoField of type List<byte[]>
> -----------------------------------------------------
>
> Key: IPROTO-103
> URL: https://issues.jboss.org/browse/IPROTO-103
> Project: Infinispan ProtoStream
> Issue Type: Bug
> Affects Versions: 4.3.0.Alpha8
> Reporter: Ryan Emerson
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha9
>
>
> {code:java}
> static final class ExpiryBucket {
> @ProtoField(number = 1, collectionImplementation = ArrayList.class)
> List<byte[]> entries;
> ExpiryBucket() {}
> ExpiryBucket(byte[]... entries) {
> this.entries = Arrays.asList(entries);
> }
> }
> {code}
> Error:
> {code:java}
> PersistenceContextInitializer.java:[19,1] org.infinispan.protostream.annotations.ProtoSchemaBuilderException: The class byte[] must be instantiable using an accessible no-argument constructor.
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 5 months
[JBoss JIRA] (IPROTO-103) Not possible to have @Protofield of type List<byte[]>
by Ryan Emerson (Jira)
Ryan Emerson created IPROTO-103:
-----------------------------------
Summary: Not possible to have @Protofield of type List<byte[]>
Key: IPROTO-103
URL: https://issues.jboss.org/browse/IPROTO-103
Project: Infinispan ProtoStream
Issue Type: Bug
Reporter: Ryan Emerson
{code:java}
static final class ExpiryBucket {
@ProtoField(number = 1, collectionImplementation = ArrayList.class)
List<byte[]> entries;
ExpiryBucket() {}
ExpiryBucket(byte[]... entries) {
this.entries = Arrays.asList(entries);
}
}
{code}
Error:
{code:java}
PersistenceContextInitializer.java:[19,1] org.infinispan.protostream.annotations.ProtoSchemaBuilderException: The class byte[] must be instantiable using an accessible no-argument constructor.
{code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 5 months
[JBoss JIRA] (IPROTO-99) Ability to define an empty proto message via Pojo annotations
by Nistor Adrian (Jira)
[ https://issues.jboss.org/browse/IPROTO-99?page=com.atlassian.jira.plugin.... ]
Nistor Adrian commented on IPROTO-99:
-------------------------------------
I've changed that error into a warning.
> Ability to define an empty proto message via Pojo annotations
> -------------------------------------------------------------
>
> Key: IPROTO-99
> URL: https://issues.jboss.org/browse/IPROTO-99
> Project: Infinispan ProtoStream
> Issue Type: Feature Request
> Affects Versions: 4.3.0.Alpha7
> Reporter: Ryan Emerson
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha9
>
>
> In some cases it's useful for a empty protobuf message to be sent, for example formalising an implementation type.
> Currently when trying to define an empty proto message by annotating a class with just {{ProtoName}} annotation, the following error is thrown at compile time:
> {code:java}
> Error:(71, 8) java: Class org.infinispan.notifications.cachelistener.cluster.AbstractClusterListenerUtilTest.StringAppender does not have any @ProtoField annotated fields. The class should be either annotated or it should have a custom marshaller.
> {code}
> It's possible to workaround this by simply creating a {{@Protofield}} annotation on a class variable which is never initialised.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 5 months
[JBoss JIRA] (IPROTO-99) Ability to define an empty proto message via Pojo annotations
by Nistor Adrian (Jira)
[ https://issues.jboss.org/browse/IPROTO-99?page=com.atlassian.jira.plugin.... ]
Nistor Adrian updated IPROTO-99:
--------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/infinispan/protostream/pull/71
> Ability to define an empty proto message via Pojo annotations
> -------------------------------------------------------------
>
> Key: IPROTO-99
> URL: https://issues.jboss.org/browse/IPROTO-99
> Project: Infinispan ProtoStream
> Issue Type: Feature Request
> Affects Versions: 4.3.0.Alpha7
> Reporter: Ryan Emerson
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha9
>
>
> In some cases it's useful for a empty protobuf message to be sent, for example formalising an implementation type.
> Currently when trying to define an empty proto message by annotating a class with just {{ProtoName}} annotation, the following error is thrown at compile time:
> {code:java}
> Error:(71, 8) java: Class org.infinispan.notifications.cachelistener.cluster.AbstractClusterListenerUtilTest.StringAppender does not have any @ProtoField annotated fields. The class should be either annotated or it should have a custom marshaller.
> {code}
> It's possible to workaround this by simply creating a {{@Protofield}} annotation on a class variable which is never initialised.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 5 months
[JBoss JIRA] (ISPN-10419) RocksDB purge should not utilise ArrayList to store multiple expired keys
by Ryan Emerson (Jira)
Ryan Emerson created ISPN-10419:
-----------------------------------
Summary: RocksDB purge should not utilise ArrayList to store multiple expired keys
Key: ISPN-10419
URL: https://issues.jboss.org/browse/ISPN-10419
Project: Infinispan
Issue Type: Enhancement
Components: Loaders and Stores
Affects Versions: 10.0.0.Beta4
Reporter: Ryan Emerson
Assignee: Ryan Emerson
Currently the RocksDB purge method stores multiple keys that expire at the same time in a ArrayList associated with the expiry time. This is currently marshallable because ArrayList is serializable and we utilise Jboss-marshalling, however ISPN-10354 means this is no longer possible in embedded mode when `infinispan-jboss-marshalling` is not present. Therefore, we should create a `ExpiryBucket` that can be marshalled via the persistence marshaller i.e. protobuf based.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 5 months
[JBoss JIRA] (ISPN-10419) RocksDB purge should not utilise ArrayList to store multiple expired keys
by Ryan Emerson (Jira)
[ https://issues.jboss.org/browse/ISPN-10419?page=com.atlassian.jira.plugin... ]
Ryan Emerson updated ISPN-10419:
--------------------------------
Sprint: DataGrid Sprint #31
> RocksDB purge should not utilise ArrayList to store multiple expired keys
> -------------------------------------------------------------------------
>
> Key: ISPN-10419
> URL: https://issues.jboss.org/browse/ISPN-10419
> Project: Infinispan
> Issue Type: Enhancement
> Components: Loaders and Stores
> Affects Versions: 10.0.0.Beta4
> Reporter: Ryan Emerson
> Assignee: Ryan Emerson
> Priority: Major
>
> Currently the RocksDB purge method stores multiple keys that expire at the same time in a ArrayList associated with the expiry time. This is currently marshallable because ArrayList is serializable and we utilise Jboss-marshalling, however ISPN-10354 means this is no longer possible in embedded mode when `infinispan-jboss-marshalling` is not present. Therefore, we should create a `ExpiryBucket` that can be marshalled via the persistence marshaller i.e. protobuf based.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
5 years, 5 months