[JBoss JIRA] (ISPN-10578) ScatteredCache RemoteMetadata should be handled by the PersistenceMarshaller
by Ryan Emerson (Jira)
[ https://issues.jboss.org/browse/ISPN-10578?page=com.atlassian.jira.plugin... ]
Ryan Emerson updated ISPN-10578:
--------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/infinispan/infinispan/pull/7264
> ScatteredCache RemoteMetadata should be handled by the PersistenceMarshaller
> ----------------------------------------------------------------------------
>
> Key: ISPN-10578
> URL: https://issues.jboss.org/browse/ISPN-10578
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 10.0.0.CR1
> Reporter: Ryan Emerson
> Assignee: Ryan Emerson
> Priority: Major
> Fix For: 10.0.0.CR2
>
>
> When running {{SharedStoreTest#testUnnecessaryWrites}} a {{NotSerializableException}} is being thrown because `RemoteMetadata` is not marshallable by the persistence marshaller. This does not cause any tests to fail, however it appears in the log files for every test run.
> {code:java}
> 00:46:16,116 WARN (remote-thread-Test-NodeC-p19-t2) [PersistenceMarshallerImpl] Cannot marshall org.infinispan.container.entries.RemoteMetadata
> org.infinispan.commons.marshall.MarshallingException: java.io.NotSerializableException: org.infinispan.container.entries.RemoteMetadata
> at org.infinispan.marshall.persistence.impl.PersistenceMarshallerImpl.marshallUserObject(PersistenceMarshallerImpl.java:220) ~[classes/:?]
> at org.infinispan.marshall.persistence.impl.PersistenceMarshallerImpl.wrapUserObject(PersistenceMarshallerImpl.java:251) ~[classes/:?]
> at org.infinispan.marshall.persistence.impl.PersistenceMarshallerImpl.objectToBuffer(PersistenceMarshallerImpl.java:159) ~[classes/:?]
> at org.infinispan.marshall.persistence.impl.PersistenceMarshallerImpl.objectToBuffer(PersistenceMarshallerImpl.java:136) ~[classes/:?]
> at org.infinispan.marshall.persistence.impl.MarshallableEntryImpl.marshall(MarshallableEntryImpl.java:209) ~[classes/:?]
> at org.infinispan.marshall.persistence.impl.MarshallableEntryImpl.<init>(MarshallableEntryImpl.java:38) ~[classes/:?]
> at org.infinispan.marshall.persistence.impl.MarshalledEntryFactoryImpl.create(MarshalledEntryFactoryImpl.java:64) ~[classes/:?]
> at org.infinispan.interceptors.impl.CacheWriterInterceptor.marshalledEntry(CacheWriterInterceptor.java:525) ~[classes/:?]
> at org.infinispan.interceptors.impl.CacheWriterInterceptor.storeEntry(CacheWriterInterceptor.java:505) ~[classes/:?]
> at org.infinispan.interceptors.impl.CacheWriterInterceptor.storeEntry(CacheWriterInterceptor.java:498) ~[classes/:?]
> at org.infinispan.interceptors.impl.ScatteredCacheWriterInterceptor.storeAndUpdateStats(ScatteredCacheWriterInterceptor.java:166) ~[classes/:?]
> at org.infinispan.interceptors.impl.ScatteredCacheWriterInterceptor.lambda$handleDataWriteReturn$1(ScatteredCacheWriterInterceptor.java:154) ~[classes/:?]
> at org.infinispan.persistence.manager.OrderedUpdatesManagerImpl.checkLockAndStore(OrderedUpdatesManagerImpl.java:84) ~[classes/:?]
> at org.infinispan.interceptors.impl.ScatteredCacheWriterInterceptor.handleDataWriteReturn(ScatteredCacheWriterInterceptor.java:152) ~[classes/:?]
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenApply(BaseAsyncInterceptor.java:86) ~[classes/:?]
> at org.infinispan.interceptors.impl.ScatteredCacheWriterInterceptor.visitPutKeyValueCommand(ScatteredCacheWriterInterceptor.java:171) ~[classes/:?]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:61) ~[classes/:?]
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59) ~[classes/:?]
> at org.infinispan.interceptors.BaseAsyncInterceptor.asyncInvokeNext(BaseAsyncInterceptor.java:232) ~[classes/:?]
> at org.infinispan.interceptors.impl.CacheLoaderInterceptor.visitDataCommand(CacheLoaderInterceptor.java:224) ~[classes/:?]
> at org.infinispan.interceptors.impl.CacheLoaderInterceptor.visitPutKeyValueCommand(CacheLoaderInterceptor.java:144) ~[classes/:?]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:61) ~[classes/:?]
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:188) ~[classes/:?]
> at org.infinispan.interceptors.impl.BiasedEntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(BiasedEntryWrappingInterceptor.java:38) ~[classes/:?]
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:318) ~[classes/:?]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:61) ~[classes/:?]
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59) ~[classes/:?]
> at org.infinispan.interceptors.impl.PrefetchInterceptor.handleWriteCommand(PrefetchInterceptor.java:370) ~[classes/:?]
> at org.infinispan.interceptors.impl.PrefetchInterceptor.visitPutKeyValueCommand(PrefetchInterceptor.java:387) ~[classes/:?]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:61) ~[classes/:?]
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:188) ~[classes/:?]
> at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:309) ~[classes/:?]
> at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:252) ~[classes/:?]
> at org.infinispan.statetransfer.StateTransferInterceptor.visitPutKeyValueCommand(StateTransferInterceptor.java:96) ~[classes/:?]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:61) ~[classes/:?]
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59) ~[classes/:?]
> at org.infinispan.interceptors.impl.CacheMgmtInterceptor.updateStoreStatistics(CacheMgmtInterceptor.java:212) ~[classes/:?]
> at org.infinispan.interceptors.impl.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:177) ~[classes/:?]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:61) ~[classes/:?]
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59) ~[classes/:?]
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:53) ~[classes/:?]
> at org.infinispan.interceptors.DDAsyncInterceptor.visitPutKeyValueCommand(DDAsyncInterceptor.java:59) ~[classes/:?]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:61) ~[classes/:?]
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:128) ~[classes/:?]
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:89) ~[classes/:?]
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:61) ~[classes/:?]
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:53) ~[classes/:?]
> at org.infinispan.interceptors.DDAsyncInterceptor.visitPutKeyValueCommand(DDAsyncInterceptor.java:59) ~[classes/:?]
> at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:61) ~[classes/:?]
> at org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:49) ~[classes/:?]
> at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:244) ~[classes/:?]
> at org.infinispan.statetransfer.StateConsumerImpl.doApplyState(StateConsumerImpl.java:666) ~[classes/:?]
> at org.infinispan.statetransfer.StateConsumerImpl.applyChunk(StateConsumerImpl.java:632) ~[classes/:?]
> at org.infinispan.statetransfer.StateConsumerImpl.lambda$applyState$1(StateConsumerImpl.java:588) ~[classes/:?]
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
> at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264) [?:?]
> at java.util.concurrent.FutureTask.run(FutureTask.java) [?:?]
> at org.infinispan.commons.util.concurrent.CallerRunsRejectOnShutdownPolicy.rejectedExecution(CallerRunsRejectOnShutdownPolicy.java:19) [classes/:?]
> at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:825) [?:?]
> at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1355) [?:?]
> at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) [?:?]
> at org.infinispan.executors.LazyInitializingExecutorService.submit(LazyInitializingExecutorService.java:108) [classes/:?]
> at org.infinispan.statetransfer.StateConsumerImpl.applyState(StateConsumerImpl.java:586) [classes/:?]
> at org.infinispan.statetransfer.StateResponseCommand.invokeAsync(StateResponseCommand.java:92) [classes/:?]
> at org.infinispan.remoting.inboundhandler.BasePerCacheInboundInvocationHandler.invokeCommand(BasePerCacheInboundInvocationHandler.java:118) [classes/:?]
> at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.invoke(BaseBlockingRunnable.java:100) [classes/:?]
> at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.runAsync(BaseBlockingRunnable.java:72) [classes/:?]
> at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.run(BaseBlockingRunnable.java:41) [classes/:?]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
> at java.lang.Thread.run(Thread.java:834) [?:?]
> Caused by: java.io.NotSerializableException: org.infinispan.container.entries.RemoteMetadata
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1185) ~[?:?]
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:349) ~[?:?]
> at org.infinispan.commons.marshall.JavaSerializationMarshaller.objectToBuffer(JavaSerializationMarshaller.java:39) ~[classes/:?]
> at org.infinispan.commons.marshall.AbstractMarshaller.objectToByteBuffer(AbstractMarshaller.java:70) ~[classes/:?]
> at org.infinispan.commons.marshall.AbstractMarshaller.objectToByteBuffer(AbstractMarshaller.java:60) ~[classes/:?]
> at org.infinispan.marshall.persistence.impl.PersistenceMarshallerImpl.marshallUserObject(PersistenceMarshallerImpl.java:215) ~[classes/:?]
> ... 70 more
> {code}
--
This message was sent by Atlassian Jira
(v7.13.5#713005)
6 years, 3 months
[JBoss JIRA] (IPROTO-89) Provide means to calculate serialised message size
by Nistor Adrian (Jira)
[ https://issues.jboss.org/browse/IPROTO-89?page=com.atlassian.jira.plugin.... ]
Nistor Adrian updated IPROTO-89:
--------------------------------
Fix Version/s: 4.3.0.Alpha12
(was: 4.3.0.Alpha11)
> Provide means to calculate serialised message size
> --------------------------------------------------
>
> Key: IPROTO-89
> URL: https://issues.jboss.org/browse/IPROTO-89
> Project: Infinispan ProtoStream
> Issue Type: Enhancement
> Affects Versions: 4.2.2.Final
> Reporter: Ryan Emerson
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha12, 4.3.0.Final
>
>
> In order to be able to better estimate the size of output buffers etc, it would be useful to provide a means for a user application to retrieved the anticipated size of a serialized message from an object's current state. For example, in the protobuf-java library this is exposed via {{com.google.protobuf.MessageLite#getSerializedSize}}
--
This message was sent by Atlassian Jira
(v7.13.5#713005)
6 years, 3 months
[JBoss JIRA] (IPROTO-63) writeObject throws IllegalArgumentException with oneof label
by Nistor Adrian (Jira)
[ https://issues.jboss.org/browse/IPROTO-63?page=com.atlassian.jira.plugin.... ]
Nistor Adrian updated IPROTO-63:
--------------------------------
Fix Version/s: 4.3.0.Alpha12
(was: 4.3.0.Alpha11)
> writeObject throws IllegalArgumentException with oneof label
> ------------------------------------------------------------
>
> Key: IPROTO-63
> URL: https://issues.jboss.org/browse/IPROTO-63
> Project: Infinispan ProtoStream
> Issue Type: Bug
> Reporter: Ryan Emerson
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha12, 4.3.0.Final
>
>
> The below schema results in the following exception:
> Schema:
> {code:java}
> message EntryVersion {
> oneof version {
> NumericVersion numeric = 1;
> ClusteredVersion clustered = 2;
> }
> // optional NumericVersion numeric = 1;
> // optional ClusteredVersion clustered = 2;
> }
> message NumericVersion {
> required int64 version = 1;
> }
> message ClusteredVersion {
> required int64 version = 1;
> required int32 topology = 2;
> }
> {code}
> Exception:
> {code:java}
> java.lang.IllegalArgumentException: Declared field type is not a message or an enum : numeric
> {code}
> It seems this is caused because the type for the field "numeric" is null in the associated FieldDescriptor object that is retrieved in the [writeObject impl|https://github.com/infinispan/protostream/blob/master/core/src/main/...].
> If the oneof label is replaced with the commented optional fields, the marshallers work as expected.
--
This message was sent by Atlassian Jira
(v7.13.5#713005)
6 years, 3 months
[JBoss JIRA] (IPROTO-74) Allow repeatable fields to be written as a stream
by Nistor Adrian (Jira)
[ https://issues.jboss.org/browse/IPROTO-74?page=com.atlassian.jira.plugin.... ]
Nistor Adrian updated IPROTO-74:
--------------------------------
Fix Version/s: 4.3.0.Alpha12
(was: 4.3.0.Alpha11)
> Allow repeatable fields to be written as a stream
> -------------------------------------------------
>
> Key: IPROTO-74
> URL: https://issues.jboss.org/browse/IPROTO-74
> Project: Infinispan ProtoStream
> Issue Type: Enhancement
> Affects Versions: 4.2.0.Final
> Reporter: Ryan Emerson
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 4.3.0.Alpha12, 4.3.0.Final
>
>
> Currently in order to write to a repeatable field it is necessary for an entire array or collection to be serialized at once. When writing larger collections it would be better if each object could be written individually from a stream.
--
This message was sent by Atlassian Jira
(v7.13.5#713005)
6 years, 3 months