[JBoss JIRA] (ISPN-10609) Extend Marshaller interface to expose configured ClassWhiteList to implementation
by Pedro Zapata Fernandez (Jira)
[ https://issues.jboss.org/browse/ISPN-10609?page=com.atlassian.jira.plugin... ]
Pedro Zapata Fernandez updated ISPN-10609:
------------------------------------------
Sprint: DataGrid Sprint #34, DataGrid Sprint #35 (was: DataGrid Sprint #34)
> Extend Marshaller interface to expose configured ClassWhiteList to implementation
> ---------------------------------------------------------------------------------
>
> Key: ISPN-10609
> URL: https://issues.jboss.org/browse/ISPN-10609
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core
> Affects Versions: 10.0.0.CR2
> Reporter: Ryan Emerson
> Assignee: Ryan Emerson
> Priority: Major
> Fix For: 10.0.0.Final
>
>
> ClassWhiteList is a generic white list that can be configured via our XML, it doesn't have anything specifc to Serialization. We should allow a user's marshaller implementation, set via SerializationConfiguration#marshaller, to utilise the configured values to limit what can/can't be marshalled.
> For our internal code this is nice because it will prevent us from requiring hacky code like the following in the PersistenceMarshallerImpl if the user wants to utilise our provided JavaSerializationMarshaller:
> {code:java}
> if (userMarshaller instanceof JavaSerializationMarshaller) {
> ((JavaSerialzationMarshaller) userMarshaller).setWhiteList(whiteListImpl);
> } else if (userMarshaller instanceof ...) {
> ...
> }
> {code}
> Proposed change to the Marshaller interface:
> {code:java}
> default void initialize(ClassWhiteList whiteList) {
> // no-op
> }
> {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 6 months
[JBoss JIRA] (ISPN-10520) Move Version class to commons
by Pedro Zapata Fernandez (Jira)
[ https://issues.jboss.org/browse/ISPN-10520?page=com.atlassian.jira.plugin... ]
Pedro Zapata Fernandez updated ISPN-10520:
------------------------------------------
Sprint: DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35 (was: DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34)
> Move Version class to commons
> -----------------------------
>
> Key: ISPN-10520
> URL: https://issues.jboss.org/browse/ISPN-10520
> Project: Infinispan
> Issue Type: Task
> Components: Core
> Affects Versions: 10.0.0.CR1
> Reporter: Tristan Tarrant
> Assignee: Tristan Tarrant
> Priority: Major
> Fix For: 10.0.0.CR2
>
>
> The Version class should be moved to commons so that it can be used by the client as well.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 6 months
[JBoss JIRA] (ISPN-10504) Deprecate ProtostreamSerializationContextInitializer in favour of SerializationContextInitializer
by Pedro Zapata Fernandez (Jira)
[ https://issues.jboss.org/browse/ISPN-10504?page=com.atlassian.jira.plugin... ]
Pedro Zapata Fernandez updated ISPN-10504:
------------------------------------------
Sprint: DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35 (was: DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34)
> Deprecate ProtostreamSerializationContextInitializer in favour of SerializationContextInitializer
> -------------------------------------------------------------------------------------------------
>
> Key: ISPN-10504
> URL: https://issues.jboss.org/browse/ISPN-10504
> Project: Infinispan
> Issue Type: Enhancement
> Components: Remote Querying
> Affects Versions: 10.0.0.Beta5
> Reporter: Ryan Emerson
> Assignee: Ryan Emerson
> Priority: Major
> Fix For: 10.0.0.CR1
>
>
> Now that the protostream library provides the SerializationContextInitializer interface, we should deprecate ProtostreamSerializationContextInitializer and just allow users to provide the former via the ServiceLoader.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 6 months
[JBoss JIRA] (ISPN-10500) Remove javassist 3.24.1-GA dependency
by Pedro Zapata Fernandez (Jira)
[ https://issues.jboss.org/browse/ISPN-10500?page=com.atlassian.jira.plugin... ]
Pedro Zapata Fernandez updated ISPN-10500:
------------------------------------------
Sprint: DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35 (was: DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34)
> Remove javassist 3.24.1-GA dependency
> -------------------------------------
>
> Key: ISPN-10500
> URL: https://issues.jboss.org/browse/ISPN-10500
> Project: Infinispan
> Issue Type: Enhancement
> Reporter: Nistor Adrian
> Assignee: Nistor Adrian
> Priority: Major
> Fix For: 10.0.0.CR1
>
>
> There are two versions used in Infinispan's pom: 3.23.1-GA used by hibernate-search and 3.24.1-GA apparently used by protostream. But protostream is an uberjar that shades that dependency (although it declares it in pom), so this is not really needed. also, in the past javassist was used by the tools modules for RHQ plugin, but this is no longer the case. I'm tempted to try to remove it for good.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 6 months
[JBoss JIRA] (ISPN-10541) Disable Jboss-marshalling warning in server mode
by Pedro Zapata Fernandez (Jira)
[ https://issues.jboss.org/browse/ISPN-10541?page=com.atlassian.jira.plugin... ]
Pedro Zapata Fernandez updated ISPN-10541:
------------------------------------------
Sprint: DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35 (was: DataGrid Sprint #33, DataGrid Sprint #34)
> Disable Jboss-marshalling warning in server mode
> ------------------------------------------------
>
> Key: ISPN-10541
> URL: https://issues.jboss.org/browse/ISPN-10541
> Project: Infinispan
> Issue Type: Enhancement
> Components: Server
> Affects Versions: 10.0.0.CR1
> Reporter: Ryan Emerson
> Assignee: Ryan Emerson
> Priority: Major
> Fix For: 10.0.0.CR2
>
>
> Currently Jboss marshalling is still required by the new server, therefore we should not warn users about its use in server mode as this could cause confusion.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 6 months
[JBoss JIRA] (ISPN-10574) Off Heap iteration performance improvements
by Pedro Zapata Fernandez (Jira)
[ https://issues.jboss.org/browse/ISPN-10574?page=com.atlassian.jira.plugin... ]
Pedro Zapata Fernandez updated ISPN-10574:
------------------------------------------
Sprint: DataGrid Sprint #34, DataGrid Sprint #35 (was: DataGrid Sprint #34)
> Off Heap iteration performance improvements
> -------------------------------------------
>
> Key: ISPN-10574
> URL: https://issues.jboss.org/browse/ISPN-10574
> Project: Infinispan
> Issue Type: Enhancement
> Components: Off Heap
> Affects Versions: 10.0.0.CR1
> Reporter: Will Burns
> Assignee: Will Burns
> Priority: Major
> Fix For: 10.0.0.CR3, 10.0.0.Final
>
>
> When testing out some things it was found that an off heap cache with a single entry compared to an object one takes significantly longer for state transfer. Off Heap can be improved to make iteration faster and thus improve things like state transfer.
> # Off Heap entries are stored using modulus for locks. This causes iteration to not access entries sequentially as well as having to acquire the same lock many times over.
> # Off Heap should optimize code paths that can be short circuited (ie. don't create stream if size is 0)
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 6 months
[JBoss JIRA] (ISPN-10578) ScatteredCache RemoteMetadata should be handled by the PersistenceMarshaller
by Pedro Zapata Fernandez (Jira)
[ https://issues.jboss.org/browse/ISPN-10578?page=com.atlassian.jira.plugin... ]
Pedro Zapata Fernandez updated ISPN-10578:
------------------------------------------
Sprint: DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35 (was: DataGrid Sprint #33, DataGrid Sprint #34)
> 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.8#713008)
6 years, 6 months