[JBoss JIRA] (ISPN-11384) Cannot create OFF_HEAP caches dynamically
by Gustavo Fernandes (Jira)
Gustavo Fernandes created ISPN-11384:
----------------------------------------
Summary: Cannot create OFF_HEAP caches dynamically
Key: ISPN-11384
URL: https://issues.redhat.com/browse/ISPN-11384
Project: Infinispan
Issue Type: Enhancement
Components: Hot Rod, REST
Affects Versions: 10.1.3.Final, 11.0.0.Alpha1
Reporter: Gustavo Fernandes
{code:xml}
<infinispan>
<cache-container>
<local-cache name ="offheap-cache">
<memory>
<off-heap/>
</memory>
</local-cache>
</cache-container>
</infinispan>
{code}
The config above when posted via REST will ignore the <off-heap/> and create a regular cache
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
6 years, 1 month
[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)
6 years, 1 month
[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)
6 years, 1 month
[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)
6 years, 1 month
[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)
6 years, 1 month