[JBoss JIRA] (ISPN-11373) XSite backup commands should be sent from a blocking thread
by Tristan Tarrant (Jira)
[ https://issues.redhat.com/browse/ISPN-11373?page=com.atlassian.jira.plugi... ]
Tristan Tarrant updated ISPN-11373:
-----------------------------------
Fix Version/s: 10.1.4.Final
(was: 10.1.3.Final)
> XSite backup commands should be sent from a blocking thread
> -----------------------------------------------------------
>
> Key: ISPN-11373
> URL: https://issues.redhat.com/browse/ISPN-11373
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core
> Affects Versions: 9.4.18.Final, 10.1.2.Final, 11.0.0.Alpha1
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 10.1.4.Final, 11.0.0.Alpha2, 9.4.19.Final
>
>
> XSite backup commands usually need more processing on the receiving site than local cluster commands do on the receiving node, which means there's a much higher chance of {{channel.send(message)}} to block.
> {{UFC}}, {{UFC_NB}}, {{MFC}} and {{MFC_NB}} all block when there are not enough credits.
> The _NB variants have an additional queue as a safety net, but that only delays the blocking: it's the same as increasing {{max_credits}} by {{max_queue_size}}, except with less work for {{UNICAST3}}/{{NAKACK2}}.
> {{TCP}} and {{UDP}} also block if their send buffer is full. Using a bundler like {{transfer-queue}} instead of the default {{no-bundler}} will only delay the blocking until the bundler's queue is also full.
> The biggest problem is when xsite backup commands are sent from a jgroups thread, and {{channel.send(message)}} blocks the thread. If the jgroups thread pool becomes full, it cannot process more messages, not even responses from the remote site.
> JGroups creates temporary threads to process internal messages when its thread pool is full, but not even that can help when the other nodes' thread pools are also full:
> {noformat}
> "jgroups-temp-thread-5728,_ma267mlvjdg015:dal_mcom_perf" #11443 prio=5 os_prio=0 tid=0x000000000906f800 nid=0x26cb waiting on condition [0x00007fb0b7b0a000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000005f3bce048> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> at java.util.concurrent.ArrayBlockingQueue.put(ArrayBlockingQueue.java:353)
> at org.jgroups.protocols.TransferQueueBundler.send(TransferQueueBundler.java:97)
> at org.jgroups.protocols.TP.send(TP.java:1441)
> at org.jgroups.protocols.TP._send(TP.java:1195)
> at org.jgroups.protocols.TP.down(TP.java:1111)
> ...
> at org.jgroups.protocols.FlowControl.sendCredit(FlowControl.java:480)
> at org.jgroups.protocols.FlowControl.handleCreditRequest(FlowControl.java:469)
> at org.jgroups.protocols.FlowControl.handleUpEvent(FlowControl.java:379)
> at org.jgroups.protocols.FlowControl.up(FlowControl.java:350)
> {noformat}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 10 months
[JBoss JIRA] (ISPN-11341) Client requests go to wrong server with binary storage
by Tristan Tarrant (Jira)
[ https://issues.redhat.com/browse/ISPN-11341?page=com.atlassian.jira.plugi... ]
Tristan Tarrant updated ISPN-11341:
-----------------------------------
Fix Version/s: 10.1.4.Final
(was: 10.1.3.Final)
> Client requests go to wrong server with binary storage
> ------------------------------------------------------
>
> Key: ISPN-11341
> URL: https://issues.redhat.com/browse/ISPN-11341
> Project: Infinispan
> Issue Type: Bug
> Components: Core, Hot Rod, Server
> Affects Versions: 9.4.18.Final, 10.1.2.Final, 11.0.0.Alpha1
> Reporter: Dan Berindei
> Assignee: Gustavo Fernandes
> Priority: Major
> Fix For: 10.1.4.Final, 11.0.0.Alpha2, 9.4.19.Final
>
>
> Caches with BINARY storage accept {{byte[]}} keys, but add a prefix to indicate that the input was a {{byte[]}} and not a {{WrappedByteArray}}.
> This happens in {{BinaryEncoder.toStorage()}}, before the segment of the key is computed, so the segment computed by the server is different from the segment computed by the client (based on the key without the prefix).
> Since the client doesn't know (and shouldn't know) the server cache's storage type, the server should always compute the segment of the key based on the {{byte[]}} sent by the client. The simplest way to achieve that would be to make {{BinaryEncoder}} skip the marshalling for {{byte[]}}.
> The only problem is that we don't want users to put in a {{WrappedByteArray}} and get back a {{byte[]}}, so we should disallow {{WrappedByteArray}} keys and values in {{Cache}} methods.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 10 months
[JBoss JIRA] (ISPN-11285) Compute with off-heap/binary storage throws ClassCastException
by Tristan Tarrant (Jira)
[ https://issues.redhat.com/browse/ISPN-11285?page=com.atlassian.jira.plugi... ]
Tristan Tarrant updated ISPN-11285:
-----------------------------------
Fix Version/s: 10.1.4.Final
(was: 10.1.3.Final)
> Compute with off-heap/binary storage throws ClassCastException
> --------------------------------------------------------------
>
> Key: ISPN-11285
> URL: https://issues.redhat.com/browse/ISPN-11285
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 10.1.1.Final
> Reporter: Wolf-Dieter Fink
> Assignee: Will Burns
> Priority: Major
> Fix For: 10.1.4.Final, 11.0.0.Alpha2
>
>
> If the compute(....) method is used with expiration parameters the change is not applied and an Exception is thrown.
> The same operation without expiration or using dedicated get/put is working correctly.
> As it is executed by task (compute will not work remote) in C/S mode the server log is this:
> {noformat}
> 18:26:01,654 ERROR (SINGLE_PORT-ServerIO-5-2) [org.infinispan.interceptors.impl.InvocationContextInterceptor] ISPN000136: Error executing command PrepareCommand on Cache 'wolfX', writing keys [test] java.lang.ClassCastException: java.lang.String cannot be cast to org.infinispan.commons.marshall.WrappedBytes
> at org.infinispan.container.offheap.OffHeapConcurrentMap.put(OffHeapConcurrentMap.java:83)
> at org.infinispan.container.impl.AbstractInternalDataContainer.put(AbstractInternalDataContainer.java:170)
> at org.infinispan.container.entries.ReadCommittedEntry.commit(ReadCommittedEntry.java:148)
> at org.infinispan.statetransfer.CommitManager.commitEntry(CommitManager.java:138)
> at org.infinispan.statetransfer.CommitManager.commit(CommitManager.java:101)
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$DistributionLogic.commitSingleEntry(ClusteringDependentLogic.java:631)
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.commitEntry(ClusteringDependentLogic.java:236)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:638)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:890)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:624)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.lambda$new$2(EntryWrappingInterceptor.java:152)
> at org.infinispan.interceptors.InvocationSuccessFunction.apply(InvocationSuccessFunction.java:25)
> at org.infinispan.interceptors.impl.SimpleAsyncInvocationStage.addCallback(SimpleAsyncInvocationStage.java:68)
> at org.infinispan.interceptors.InvocationStage.thenApply(InvocationStage.java:45)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenApply(BaseAsyncInterceptor.java:84)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.prepareHandler(EntryWrappingInterceptor.java:191)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.wrapEntriesForPrepareAndApply(EntryWrappingInterceptor.java:925)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitPrepareCommand(EntryWrappingInterceptor.java:186)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
> at org.infinispan.interceptors.impl.NotificationInterceptor.visitPrepareCommand(NotificationInterceptor.java:41)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenAccept(BaseAsyncInterceptor.java:103)
> at org.infinispan.interceptors.locking.PessimisticLockingInterceptor.visitPrepareCommand(PessimisticLockingInterceptor.java:122)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
> at org.infinispan.interceptors.impl.TxInterceptor.handlePrepareCommand(TxInterceptor.java:156)
> at org.infinispan.interceptors.impl.TxInterceptor.visitPrepareCommand(TxInterceptor.java:127)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
> at org.infinispan.statetransfer.TransactionSynchronizerInterceptor.visitCommand(TransactionSynchronizerInterceptor.java:41)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:190)
> at org.infinispan.statetransfer.StateTransferInterceptor.handleTxCommand(StateTransferInterceptor.java:203)
> at org.infinispan.statetransfer.StateTransferInterceptor.visitPrepareCommand(StateTransferInterceptor.java:69)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:53)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitPrepareCommand(DDAsyncInterceptor.java:131)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:128)
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:61)
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:53)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitPrepareCommand(DDAsyncInterceptor.java:131)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:49)
> at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:244)
> at org.infinispan.transaction.impl.TransactionCoordinator.commit(TransactionCoordinator.java:159)
> at org.infinispan.transaction.impl.TransactionTable.afterCompletion(TransactionTable.java:910)
> at org.infinispan.transaction.synchronization.SynchronizationAdapter.afterCompletion(SynchronizationAdapter.java:33)
> at org.infinispan.commons.tx.TransactionImpl.notifyAfterCompletion(TransactionImpl.java:512)
> at org.infinispan.commons.tx.TransactionImpl.runCommit(TransactionImpl.java:338)
> at org.infinispan.commons.tx.TransactionImpl.commit(TransactionImpl.java:110)
> at org.infinispan.commons.tx.TransactionManagerImpl.commit(TransactionManagerImpl.java:73)
> at org.infinispan.cache.impl.CacheImpl.tryCommit(CacheImpl.java:1934)
> at org.infinispan.cache.impl.CacheImpl.executeCommandWithInjectedTx(CacheImpl.java:1855)
> at org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1828)
> at org.infinispan.cache.impl.CacheImpl.computeInternal(CacheImpl.java:334)
> at org.infinispan.cache.impl.CacheImpl.computeInternal(CacheImpl.java:325)
> at org.infinispan.cache.impl.CacheImpl.compute(CacheImpl.java:279)
> at org.infinispan.cache.impl.AbstractDelegatingCache.compute(AbstractDelegatingCache.java:400)
> at org.jboss.as.quickstarts.datagrid.remotetasks.tasks.BooksRemovingTask.call(BooksRemovingTask.java:75)
> at org.jboss.as.quickstarts.datagrid.remotetasks.tasks.BooksRemovingTask.call(BooksRemovingTask.java:35)
> at org.infinispan.server.tasks.ServerTaskWrapper.run(ServerTaskWrapper.java:27)
> at org.infinispan.server.tasks.LocalServerTaskRunner.execute(LocalServerTaskRunner.java:23)
> at org.infinispan.server.tasks.ServerTaskEngine.invokeTask(ServerTaskEngine.java:79)
> at org.infinispan.server.tasks.ServerTaskEngine.runTask(ServerTaskEngine.java:63)
> at org.infinispan.tasks.impl.TaskManagerImpl.runTask(TaskManagerImpl.java:94)
> at org.infinispan.server.hotrod.TaskRequestProcessor.exec(TaskRequestProcessor.java:39)
> at org.infinispan.server.hotrod.HotRodDecoder.switch2(HotRodDecoder.java:1664)
> at org.infinispan.server.hotrod.HotRodDecoder.switch1_0(HotRodDecoder.java:155)
> at org.infinispan.server.hotrod.HotRodDecoder.decode(HotRodDecoder.java:143)
> at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:503)
> at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:442)
> at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:281)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
> at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
> at org.infinispan.server.core.transport.StatsChannelHandler.channelRead(StatsChannelHandler.java:26)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
> at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1422)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
> at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:931)
> at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792)
> at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:502)
> at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:407)
> at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050)
> at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
> at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> at java.lang.Thread.run(Thread.java:748)
> 18:26:01,664 ERROR (SINGLE_PORT-ServerIO-5-2) [org.infinispan.transaction.impl.TransactionCoordinator] ISPN000097: Error while processing a prepare in a single-phase transaction org.infinispan.commons.CacheException: java.lang.ClassCastException: java.lang.String cannot be cast to org.infinispan.commons.marshall.WrappedBytes
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.rethrowException(InvocationContextInterceptor.java:134)
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.lambda$new$0(InvocationContextInterceptor.java:62)
> at org.infinispan.interceptors.ExceptionSyncInvocationStage.andExceptionally(ExceptionSyncInvocationStage.java:40)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:133)
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:61)
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:53)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitPrepareCommand(DDAsyncInterceptor.java:131)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:49)
> at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:244)
> at org.infinispan.transaction.impl.TransactionCoordinator.commit(TransactionCoordinator.java:159)
> at org.infinispan.transaction.impl.TransactionTable.afterCompletion(TransactionTable.java:910)
> at org.infinispan.transaction.synchronization.SynchronizationAdapter.afterCompletion(SynchronizationAdapter.java:33)
> at org.infinispan.commons.tx.TransactionImpl.notifyAfterCompletion(TransactionImpl.java:512)
> at org.infinispan.commons.tx.TransactionImpl.runCommit(TransactionImpl.java:338)
> at org.infinispan.commons.tx.TransactionImpl.commit(TransactionImpl.java:110)
> at org.infinispan.commons.tx.TransactionManagerImpl.commit(TransactionManagerImpl.java:73)
> at org.infinispan.cache.impl.CacheImpl.tryCommit(CacheImpl.java:1934)
> at org.infinispan.cache.impl.CacheImpl.executeCommandWithInjectedTx(CacheImpl.java:1855)
> at org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1828)
> at org.infinispan.cache.impl.CacheImpl.computeInternal(CacheImpl.java:334)
> at org.infinispan.cache.impl.CacheImpl.computeInternal(CacheImpl.java:325)
> at org.infinispan.cache.impl.CacheImpl.compute(CacheImpl.java:279)
> at org.infinispan.cache.impl.AbstractDelegatingCache.compute(AbstractDelegatingCache.java:400)
> at org.jboss.as.quickstarts.datagrid.remotetasks.tasks.BooksRemovingTask.call(BooksRemovingTask.java:75)
> at org.jboss.as.quickstarts.datagrid.remotetasks.tasks.BooksRemovingTask.call(BooksRemovingTask.java:35)
> at org.infinispan.server.tasks.ServerTaskWrapper.run(ServerTaskWrapper.java:27)
> at org.infinispan.server.tasks.LocalServerTaskRunner.execute(LocalServerTaskRunner.java:23)
> at org.infinispan.server.tasks.ServerTaskEngine.invokeTask(ServerTaskEngine.java:79)
> at org.infinispan.server.tasks.ServerTaskEngine.runTask(ServerTaskEngine.java:63)
> at org.infinispan.tasks.impl.TaskManagerImpl.runTask(TaskManagerImpl.java:94)
> at org.infinispan.server.hotrod.TaskRequestProcessor.exec(TaskRequestProcessor.java:39)
> at org.infinispan.server.hotrod.HotRodDecoder.switch2(HotRodDecoder.java:1664)
> at org.infinispan.server.hotrod.HotRodDecoder.switch1_0(HotRodDecoder.java:155)
> at org.infinispan.server.hotrod.HotRodDecoder.decode(HotRodDecoder.java:143)
> at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:503)
> at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:442)
> at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:281)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
> at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
> at org.infinispan.server.core.transport.StatsChannelHandler.channelRead(StatsChannelHandler.java:26)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
> at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1422)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
> at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:931)
> at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792)
> at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:502)
> at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:407)
> at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050)
> at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
> at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to org.infinispan.commons.marshall.WrappedBytes
> at org.infinispan.container.offheap.OffHeapConcurrentMap.put(OffHeapConcurrentMap.java:83)
> at org.infinispan.container.impl.AbstractInternalDataContainer.put(AbstractInternalDataContainer.java:170)
> at org.infinispan.container.entries.ReadCommittedEntry.commit(ReadCommittedEntry.java:148)
> at org.infinispan.statetransfer.CommitManager.commitEntry(CommitManager.java:138)
> at org.infinispan.statetransfer.CommitManager.commit(CommitManager.java:101)
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$DistributionLogic.commitSingleEntry(ClusteringDependentLogic.java:631)
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.commitEntry(ClusteringDependentLogic.java:236)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:638)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:890)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:624)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.lambda$new$2(EntryWrappingInterceptor.java:152)
> at org.infinispan.interceptors.InvocationSuccessFunction.apply(InvocationSuccessFunction.java:25)
> at org.infinispan.interceptors.impl.SimpleAsyncInvocationStage.addCallback(SimpleAsyncInvocationStage.java:68)
> at org.infinispan.interceptors.InvocationStage.thenApply(InvocationStage.java:45)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenApply(BaseAsyncInterceptor.java:84)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.prepareHandler(EntryWrappingInterceptor.java:191)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.wrapEntriesForPrepareAndApply(EntryWrappingInterceptor.java:925)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitPrepareCommand(EntryWrappingInterceptor.java:186)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
> at org.infinispan.interceptors.impl.NotificationInterceptor.visitPrepareCommand(NotificationInterceptor.java:41)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenAccept(BaseAsyncInterceptor.java:103)
> at org.infinispan.interceptors.locking.PessimisticLockingInterceptor.visitPrepareCommand(PessimisticLockingInterceptor.java:122)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
> at org.infinispan.interceptors.impl.TxInterceptor.handlePrepareCommand(TxInterceptor.java:156)
> at org.infinispan.interceptors.impl.TxInterceptor.visitPrepareCommand(TxInterceptor.java:127)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
> at org.infinispan.statetransfer.TransactionSynchronizerInterceptor.visitCommand(TransactionSynchronizerInterceptor.java:41)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:190)
> at org.infinispan.statetransfer.StateTransferInterceptor.handleTxCommand(StateTransferInterceptor.java:203)
> at org.infinispan.statetransfer.StateTransferInterceptor.visitPrepareCommand(StateTransferInterceptor.java:69)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:53)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitPrepareCommand(DDAsyncInterceptor.java:131)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:128)
> ... 54 more
> 18:26:01,671 ERROR (SINGLE_PORT-ServerIO-5-2) [org.infinispan.commons.tx.TransactionImpl] ISPN000926: afterCompletion() failed for SynchronizationAdapter{localTransaction=LocalTransaction{remoteLockedNodes=[lt-34411], isMarkedForRollback=false, lockedKeys=[], backupKeyLocks=[], topologyId=1, stateTransferFlag=null} org.infinispan.transaction.synchronization.SyncLocalTransaction@3} org.infinispan.transaction.synchronization.SynchronizationAdapter@22 org.infinispan.commons.CacheException: Could not commit.
> at org.infinispan.transaction.impl.TransactionTable.afterCompletion(TransactionTable.java:912)
> at org.infinispan.transaction.synchronization.SynchronizationAdapter.afterCompletion(SynchronizationAdapter.java:33)
> at org.infinispan.commons.tx.TransactionImpl.notifyAfterCompletion(TransactionImpl.java:512)
> at org.infinispan.commons.tx.TransactionImpl.runCommit(TransactionImpl.java:338)
> at org.infinispan.commons.tx.TransactionImpl.commit(TransactionImpl.java:110)
> at org.infinispan.commons.tx.TransactionManagerImpl.commit(TransactionManagerImpl.java:73)
> at org.infinispan.cache.impl.CacheImpl.tryCommit(CacheImpl.java:1934)
> at org.infinispan.cache.impl.CacheImpl.executeCommandWithInjectedTx(CacheImpl.java:1855)
> at org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1828)
> at org.infinispan.cache.impl.CacheImpl.computeInternal(CacheImpl.java:334)
> at org.infinispan.cache.impl.CacheImpl.computeInternal(CacheImpl.java:325)
> at org.infinispan.cache.impl.CacheImpl.compute(CacheImpl.java:279)
> at org.infinispan.cache.impl.AbstractDelegatingCache.compute(AbstractDelegatingCache.java:400)
> at org.jboss.as.quickstarts.datagrid.remotetasks.tasks.BooksRemovingTask.call(BooksRemovingTask.java:75)
> at org.jboss.as.quickstarts.datagrid.remotetasks.tasks.BooksRemovingTask.call(BooksRemovingTask.java:35)
> at org.infinispan.server.tasks.ServerTaskWrapper.run(ServerTaskWrapper.java:27)
> at org.infinispan.server.tasks.LocalServerTaskRunner.execute(LocalServerTaskRunner.java:23)
> at org.infinispan.server.tasks.ServerTaskEngine.invokeTask(ServerTaskEngine.java:79)
> at org.infinispan.server.tasks.ServerTaskEngine.runTask(ServerTaskEngine.java:63)
> at org.infinispan.tasks.impl.TaskManagerImpl.runTask(TaskManagerImpl.java:94)
> at org.infinispan.server.hotrod.TaskRequestProcessor.exec(TaskRequestProcessor.java:39)
> at org.infinispan.server.hotrod.HotRodDecoder.switch2(HotRodDecoder.java:1664)
> at org.infinispan.server.hotrod.HotRodDecoder.switch1_0(HotRodDecoder.java:155)
> at org.infinispan.server.hotrod.HotRodDecoder.decode(HotRodDecoder.java:143)
> at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:503)
> at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:442)
> at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:281)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
> at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
> at org.infinispan.server.core.transport.StatsChannelHandler.channelRead(StatsChannelHandler.java:26)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
> at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1422)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
> at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:931)
> at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792)
> at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:502)
> at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:407)
> at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050)
> at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
> at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: javax.transaction.xa.XAException
> at org.infinispan.transaction.impl.TransactionCoordinator.handleCommitFailure(TransactionCoordinator.java:215)
> at org.infinispan.transaction.impl.TransactionCoordinator.commit(TransactionCoordinator.java:161)
> at org.infinispan.transaction.impl.TransactionTable.afterCompletion(TransactionTable.java:910)
> ... 45 more
> Caused by: org.infinispan.commons.CacheException: java.lang.ClassCastException: java.lang.String cannot be cast to org.infinispan.commons.marshall.WrappedBytes
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.rethrowException(InvocationContextInterceptor.java:134)
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.lambda$new$0(InvocationContextInterceptor.java:62)
> at org.infinispan.interceptors.ExceptionSyncInvocationStage.andExceptionally(ExceptionSyncInvocationStage.java:40)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:133)
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:61)
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:53)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitPrepareCommand(DDAsyncInterceptor.java:131)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:49)
> at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:244)
> at org.infinispan.transaction.impl.TransactionCoordinator.commit(TransactionCoordinator.java:159)
> ... 46 more
> Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to org.infinispan.commons.marshall.WrappedBytes
> at org.infinispan.container.offheap.OffHeapConcurrentMap.put(OffHeapConcurrentMap.java:83)
> at org.infinispan.container.impl.AbstractInternalDataContainer.put(AbstractInternalDataContainer.java:170)
> at org.infinispan.container.entries.ReadCommittedEntry.commit(ReadCommittedEntry.java:148)
> at org.infinispan.statetransfer.CommitManager.commitEntry(CommitManager.java:138)
> at org.infinispan.statetransfer.CommitManager.commit(CommitManager.java:101)
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$DistributionLogic.commitSingleEntry(ClusteringDependentLogic.java:631)
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.commitEntry(ClusteringDependentLogic.java:236)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:638)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:890)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:624)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.lambda$new$2(EntryWrappingInterceptor.java:152)
> at org.infinispan.interceptors.InvocationSuccessFunction.apply(InvocationSuccessFunction.java:25)
> at org.infinispan.interceptors.impl.SimpleAsyncInvocationStage.addCallback(SimpleAsyncInvocationStage.java:68)
> at org.infinispan.interceptors.InvocationStage.thenApply(InvocationStage.java:45)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenApply(BaseAsyncInterceptor.java:84)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.prepareHandler(EntryWrappingInterceptor.java:191)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.wrapEntriesForPrepareAndApply(EntryWrappingInterceptor.java:925)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitPrepareCommand(EntryWrappingInterceptor.java:186)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
> at org.infinispan.interceptors.impl.NotificationInterceptor.visitPrepareCommand(NotificationInterceptor.java:41)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenAccept(BaseAsyncInterceptor.java:103)
> at org.infinispan.interceptors.locking.PessimisticLockingInterceptor.visitPrepareCommand(PessimisticLockingInterceptor.java:122)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
> at org.infinispan.interceptors.impl.TxInterceptor.handlePrepareCommand(TxInterceptor.java:156)
> at org.infinispan.interceptors.impl.TxInterceptor.visitPrepareCommand(TxInterceptor.java:127)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
> at org.infinispan.statetransfer.TransactionSynchronizerInterceptor.visitCommand(TransactionSynchronizerInterceptor.java:41)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:190)
> at org.infinispan.statetransfer.StateTransferInterceptor.handleTxCommand(StateTransferInterceptor.java:203)
> at org.infinispan.statetransfer.StateTransferInterceptor.visitPrepareCommand(StateTransferInterceptor.java:69)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59)
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:53)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitPrepareCommand(DDAsyncInterceptor.java:131)
> at org.infinispan.commands.tx.PrepareCommand.acceptVisitor(PrepareCommand.java:211)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:128)
> ... 54 more
> {noformat}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 10 months
[JBoss JIRA] (ISPN-11249) Unexpected functionality added by Java8 default interface methods
by Tristan Tarrant (Jira)
[ https://issues.redhat.com/browse/ISPN-11249?page=com.atlassian.jira.plugi... ]
Tristan Tarrant updated ISPN-11249:
-----------------------------------
Fix Version/s: 10.1.4.Final
(was: 10.1.3.Final)
> Unexpected functionality added by Java8 default interface methods
> -----------------------------------------------------------------
>
> Key: ISPN-11249
> URL: https://issues.redhat.com/browse/ISPN-11249
> Project: Infinispan
> Issue Type: Bug
> Reporter: Wolf-Dieter Fink
> Assignee: Will Burns
> Priority: Critical
> Fix For: 10.1.4.Final, 11.0.0.Alpha2
>
>
> With Java8 there are interfaces which implement default methods.
> Those defaults are available if not overridden, but the function behind might not be correct because the method was not meant to be implemented.
> There are issues with the transaction and locking because of the remote invocation, so the conditional operation will not work consistent.
> Such methods need to be checked and throw a UnsupportedOperation.
> This appears for the compute(...) methods
> compute(key, BiFunct) -> default to java.util.concurrent.ConcurrentMap interface
> compute() methods with expiration will throw an UnsupportedOperationException as expected.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 10 months
[JBoss JIRA] (ISPN-11127) Protocol servers don't pre-start caches when transport is disabled
by Tristan Tarrant (Jira)
[ https://issues.redhat.com/browse/ISPN-11127?page=com.atlassian.jira.plugi... ]
Tristan Tarrant updated ISPN-11127:
-----------------------------------
Fix Version/s: 10.1.4.Final
(was: 10.1.3.Final)
> Protocol servers don't pre-start caches when transport is disabled
> ------------------------------------------------------------------
>
> Key: ISPN-11127
> URL: https://issues.redhat.com/browse/ISPN-11127
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 10.1.0.Final
> Reporter: Tristan Tarrant
> Assignee: Tristan Tarrant
> Priority: Major
> Fix For: 10.1.4.Final
>
>
> The various protocol servers have different initialization steps to ensures that caches are pre-started which don't work in all cases. In particular the REST server doesn't pre-start caches and the Hot Rod server pre-starts only if the transport is enabled.
> This should be handled uniformly.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 10 months