[JBoss JIRA] (ISPN-10600) Create empty XSiteStateTransferManager and related classes
by Pedro Ruivo (Jira)
Pedro Ruivo created ISPN-10600:
----------------------------------
Summary: Create empty XSiteStateTransferManager and related classes
Key: ISPN-10600
URL: https://issues.jboss.org/browse/ISPN-10600
Project: Infinispan
Issue Type: Enhancement
Components: Cross-Site Replication
Affects Versions: 10.0.0.CR2
Reporter: Pedro Ruivo
Assignee: Pedro Ruivo
When a cache doesn't have cross-site replication enabled, it can instantiate empty implementation of {{XSiteStateTransferManager}}, {{XSiteStateConsumer}} and {{XSiteStateProvider}} to save some memory and avoid registering uneeded listeners.
--
This message was sent by Atlassian Jira
(v7.13.5#713005)
5 years, 3 months
[JBoss JIRA] (ISPN-4351) Clarify the behaviour of putForExternalRead in clustered caches
by Donald Naro (Jira)
[ https://issues.jboss.org/browse/ISPN-4351?page=com.atlassian.jira.plugin.... ]
Donald Naro closed ISPN-4351.
-----------------------------
Resolution: Out of Date
> Clarify the behaviour of putForExternalRead in clustered caches
> ---------------------------------------------------------------
>
> Key: ISPN-4351
> URL: https://issues.jboss.org/browse/ISPN-4351
> Project: Infinispan
> Issue Type: Task
> Components: Core, Documentation-Core
> Affects Versions: 6.0.2.Final
> Reporter: Dan Berindei
> Priority: Major
>
> The {{putForExternal}} [documentation|http://infinispan.org/docs/7.0.x/user_guide/user_guide.html...] says
> {quote}
> putForExternalRead is consider to be a fast operation because regardless of whether it’s successful or not, it doesn’t wait for any locks, and so returns to the caller promptly.
> {quote}
> But the documentation doesn't say how {{putForExternalRead}} should behave in a clustered cache. Currently, the command is replicated to all the owners in distributed mode, and to all the cluster members in replicated mode. So the command may be delayed while waiting for the responses from those other nodes. The exception is invalidation mode, which doesn't replicate {{putForExternalRead}} commands - only regular {{put}}s generate invalidations.
> The documentation also doesn't mention the interaction of {{putForExternalRead}} operations with transactions. Currently, {{PUT_FOR_EXTERNAL_READ}}-flagged commands are executed as non-transactional commands even when the cache is transactional, presumably to avoid the overhead of transactions. But this undermines the argument for wrapping regular write operations in an implicit transaction, when running in a transactional cache.
> I propose changing {{putForExternalRead}} to only write on the local node (as it already does in invalidation mode), and documenting it as such. In distribution mode, it should be a no-op when the local node is not an owner.
--
This message was sent by Atlassian Jira
(v7.13.5#713005)
5 years, 3 months
[JBoss JIRA] (ISPN-3469) stateTransfer.fetchInMemoryState XSD documentation is incomplete
by Donald Naro (Jira)
[ https://issues.jboss.org/browse/ISPN-3469?page=com.atlassian.jira.plugin.... ]
Donald Naro closed ISPN-3469.
-----------------------------
Resolution: Out of Date
> stateTransfer.fetchInMemoryState XSD documentation is incomplete
> ----------------------------------------------------------------
>
> Key: ISPN-3469
> URL: https://issues.jboss.org/browse/ISPN-3469
> Project: Infinispan
> Issue Type: Bug
> Components: Documentation-Core
> Affects Versions: 5.3.0.Final, 6.0.0.Alpha3
> Reporter: Dan Berindei
> Priority: Minor
>
> The XSD documentation for the {{clustering.stateTransfer.fetchInMemoryState}} setting only mentions nodes joining the cache, it doesn't mention that it also covers the redistribution of state between existing nodes when a node leaves.
> The javadoc is a bit more complete/up-to-date, but it only mentions that if disabled, a key may have less than numOwners owners - it doesn't mention that the key might be lost completely, or that some nodes may not be able to retrieve the value of the key even though there is still a copy of the key in the cluster.
--
This message was sent by Atlassian Jira
(v7.13.5#713005)
5 years, 3 months
[JBoss JIRA] (ISPN-9394) Getting java.lang.ClassCastException after calling XSiteAdmin.status()
by Pedro Ruivo (Jira)
[ https://issues.jboss.org/browse/ISPN-9394?page=com.atlassian.jira.plugin.... ]
Pedro Ruivo updated ISPN-9394:
------------------------------
Sprint: DataGrid Sprint #34
> Getting java.lang.ClassCastException after calling XSiteAdmin.status()
> ----------------------------------------------------------------------
>
> Key: ISPN-9394
> URL: https://issues.jboss.org/browse/ISPN-9394
> Project: Infinispan
> Issue Type: Bug
> Components: Cross-Site Replication
> Reporter: Jared Blashka
> Assignee: Pedro Ruivo
> Priority: Minor
> Attachments: clustered.xml
>
>
> I've got a cross-site cluster set up with 4 hosts (a,b) <-> (c,d). If I stop a particular cache on 'a' and then call XSiteAdmin.status() for that cache on 'b' I get "java.lang.ClassCastException: org.infinispan.remoting.responses.CacheNotFoundResponse cannot be cast to org.infinispan.remoting.responses.SuccessfulResponse".
> XSiteAdmin.status() still works without any issues on 'c' and 'd' however
--
This message was sent by Atlassian Jira
(v7.13.5#713005)
5 years, 3 months
[JBoss JIRA] (ISPN-8861) DIST Iteration shouldn't go remote when a shared cache store is present
by Will Burns (Jira)
[ https://issues.jboss.org/browse/ISPN-8861?page=com.atlassian.jira.plugin.... ]
Will Burns updated ISPN-8861:
-----------------------------
Fix Version/s: (was: 10.0.0.Final)
Sprint: Sprint 9.4.0.CR1, Sprint 9.4.0.CR3, Sprint 10.0.0.Alpha1, Sprint 10.0.0.Alpha2, Sprint 9.4.0.Final, Sprint 10.0.0.Alpha0, Sprint 10.0.0.Beta1, DataGrid Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33 (was: Sprint 9.4.0.CR1, Sprint 9.4.0.CR3, Sprint 10.0.0.Alpha1, Sprint 10.0.0.Alpha2, Sprint 9.4.0.Final, Sprint 10.0.0.Alpha0, Sprint 10.0.0.Beta1, DataGrid Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34)
> DIST Iteration shouldn't go remote when a shared cache store is present
> -----------------------------------------------------------------------
>
> Key: ISPN-8861
> URL: https://issues.jboss.org/browse/ISPN-8861
> Project: Infinispan
> Issue Type: Enhancement
> Components: Loaders and Stores
> Reporter: Will Burns
> Assignee: Will Burns
> Priority: Major
>
> When a user runs a distributed iteration operation with a shared cache store, this shouldn't go remote as the local node would have all the data available to it. This is similar to the optimization when we don't go remote if the current node is an owner for all required segments.
--
This message was sent by Atlassian Jira
(v7.13.5#713005)
5 years, 3 months
[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 resolved ISPN-10578.
---------------------------------
Resolution: Done
> 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)
5 years, 3 months