[JBoss JIRA] (ISPN-8033) Distributed Stream rehash is broken if a map operation is used
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-8033?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-8033:
--------------------------------
Status: Open (was: New)
> Distributed Stream rehash is broken if a map operation is used
> --------------------------------------------------------------
>
> Key: ISPN-8033
> URL: https://issues.jboss.org/browse/ISPN-8033
> Project: Infinispan
> Issue Type: Bug
> Components: Distributed Execution and Map/Reduce
> Affects Versions: 9.1.0.CR1
> Reporter: William Burns
> Assignee: William Burns
> Fix For: 9.1.0.Final
>
>
> Rehash distributed streams are broken if an intermediate operation is present that has a map operation.
> {code}
> cache.entrySet().stream().map(Map.Entry::getValue)
> {code}
> This is due to the stream supplier doesn't create a new stream on each invocation in DistributionBulkInterceptor.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months
[JBoss JIRA] (ISPN-8033) Distributed Stream rehash is broken if a map operation is used
by William Burns (JIRA)
William Burns created ISPN-8033:
-----------------------------------
Summary: Distributed Stream rehash is broken if a map operation is used
Key: ISPN-8033
URL: https://issues.jboss.org/browse/ISPN-8033
Project: Infinispan
Issue Type: Bug
Components: Distributed Execution and Map/Reduce
Affects Versions: 9.1.0.CR1
Reporter: William Burns
Assignee: William Burns
Fix For: 9.1.0.Final
Rehash distributed streams are broken if an intermediate operation is present that has a map operation.
{code}
cache.entrySet().stream().map(Map.Entry::getValue)
{code}
This is due to the stream supplier doesn't create a new stream on each invocation in DistributionBulkInterceptor.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months
[JBoss JIRA] (ISPN-7993) Functional commands don't support Data convertions
by Katia Aresti (JIRA)
[ https://issues.jboss.org/browse/ISPN-7993?page=com.atlassian.jira.plugin.... ]
Katia Aresti updated ISPN-7993:
-------------------------------
Status: Pull Request Sent (was: Coding In Progress)
Git Pull Request: https://github.com/infinispan/infinispan/pull/5271
> Functional commands don't support Data convertions
> --------------------------------------------------
>
> Key: ISPN-7993
> URL: https://issues.jboss.org/browse/ISPN-7993
> Project: Infinispan
> Issue Type: Feature Request
> Components: Core
> Reporter: Katia Aresti
> Assignee: Katia Aresti
> Fix For: 9.2.0.Final
>
>
> Functional commands don't support encoding
>
> For example, in this test
> {code}
> public class ClusteredCacheTest extends MultipleCacheManagersTest {
> public void testFunctionalMap() throws Exception {
> prepareTestData();
> FunctionalMapImpl functionalMap = FunctionalMapImpl.create(this.cache2.getAdvancedCache());
> FunctionalMap.ReadWriteMap<String, String> readWriteMap = ReadWriteMapImpl.create(functionalMap);
> readWriteMap.eval("k", view -> {
> view.set("v");
> return null;
> }).join();
> assertEquals("v", cache2.get("k"));
> }
> }
> {code}
> Returns this exception when the StorageType is OFF_HEAP
> {code}
> 17:27:22,296 ERROR (remote-thread-ClusteredCacheTest-NodeA-p2-t6) [InvocationContextInterceptor] ISPN000136: Error executing command ReadWriteKeyCommand, writing keys [k]
> java.lang.ClassCastException: java.lang.String cannot be cast to org.infinispan.commons.marshall.WrappedBytes
> at org.infinispan.container.offheap.OffHeapDataContainer.put(OffHeapDataContainer.java:38)
> at org.infinispan.container.entries.ReadCommittedEntry.commit(ReadCommittedEntry.java:134)
> at org.infinispan.statetransfer.CommitManager.commitEntry(CommitManager.java:141)
> at org.infinispan.statetransfer.CommitManager.commit(CommitManager.java:101)
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$ReplicationLogic.commitSingleEntry(ClusteringDependentLogic.java:435)
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.commitEntry(ClusteringDependentLogic.java:183)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:604)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:825)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:581)17:27:22,310 ERROR (jgroups-4,ClusteredCacheTest-NodeB-5393) [InvocationContextInterceptor] ISPN000136: Error executing command ReadWriteKeyCommand, writing keys [k]
> org.infinispan.remoting.RemoteException: ISPN000217: Received exception from ClusteredCacheTest-NodeA-49952, see cause for remote stack trace
> at org.infinispan.remoting.transport.AbstractTransport.checkResponse(AbstractTransport.java:44)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.checkRsp(JGroupsTransport.java:920)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.lambda$invokeRemotelyAsync$4(JGroupsTransport.java:689)
> at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
> at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
> at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
> at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
> at org.infinispan.remoting.transport.jgroups.RspListFuture.requestDone(RspListFuture.java:53)
> at org.infinispan.remoting.transport.jgroups.RspListFuture.accept(RspListFuture.java:48)
> java.util.concurrent.CompletionException: org.infinispan.remoting.RemoteException: ISPN000217: Received exception from ClusteredCacheTest-NodeA-49952, see cause for remote stack trace
> at java.util.concurrent.CompletableFuture.reportJoin(CompletableFuture.java:375)
> at java.util.concurrent.CompletableFuture.join(CompletableFuture.java:1934)
> at org.infinispan.query.blackbox.ClusteredCacheTest.testFunctionalMap(ClusteredCacheTest.java:886)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
> at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
> at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
> at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
> at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
> at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
> at org.testng.TestRunner.privateRun(TestRunner.java:767)
> at org.testng.TestRunner.run(TestRunner.java:617)
> at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
> at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
> at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
> at org.testng.SuiteRunner.run(SuiteRunner.java:254)
> at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
> at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
> at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
> at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
> at org.testng.TestNG.run(TestNG.java:1057)
> at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72)
> at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:127)
> Caused by: org.infinispan.remoting.RemoteException: ISPN000217: Received exception from ClusteredCacheTest-NodeA-49952, see cause for remote stack trace
> at org.infinispan.remoting.transport.AbstractTransport.checkResponse(AbstractTransport.java:44)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.checkRsp(JGroupsTransport.java:920)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.lambda$invokeRemotelyAsync$4(JGroupsTransport.java:689)
> at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
> at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
> at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
> at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
> at org.infinispan.remoting.transport.jgroups.RspListFuture.requestDone(RspListFuture.java:53)
> at org.infinispan.remoting.transport.jgroups.RspListFuture.accept(RspListFuture.java:48)
> at org.infinispan.remoting.transport.jgroups.RspListFuture.accept(RspListFuture.java:19)
> at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
> at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
> at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
> at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
> at org.jgroups.blocks.GroupRequest.receiveResponse(GroupRequest.java:106)
> at org.infinispan.remoting.transport.jgroups.CustomRequestCorrelator.handleResponse(CustomRequestCorrelator.java:50)
> at org.jgroups.blocks.RequestCorrelator.dispatch(RequestCorrelator.java:363)
> at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:307)
> at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:579)
> at org.jgroups.JChannel.up(JChannel.java:816)
> at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:893)
> at org.jgroups.protocols.RSVP.up(RSVP.java:163)
> at org.jgroups.protocols.FlowControl.up(FlowControl.java:345)
> at org.jgroups.protocols.tom.TOA.up(TOA.java:112)
> at org.jgroups.protocols.pbcast.GMS.up(GMS.java:867)
> at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:240)
> at org.jgroups.protocols.UNICAST3.deliverMessage(UNICAST3.java:1059)
> at org.jgroups.protocols.UNICAST3.handleDataReceived(UNICAST3.java:785)
> at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:438)
> at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:598)
> at org.jgroups.protocols.Discovery.up(Discovery.java:262)
> at org.jgroups.protocols.TP.passMessageUp(TP.java:1204)
> at org.jgroups.util.SubmitToThreadPool$SingleMessageHandler.run(SubmitToThreadPool.java:87)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to org.infinispan.commons.marshall.WrappedBytes
> at org.infinispan.container.offheap.OffHeapDataContainer.put(OffHeapDataContainer.java:38)
> at org.infinispan.container.entries.ReadCommittedEntry.commit(ReadCommittedEntry.java:134)
> at org.infinispan.statetransfer.CommitManager.commitEntry(CommitManager.java:141)
> at org.infinispan.statetransfer.CommitManager.commit(CommitManager.java:101)
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$ReplicationLogic.commitSingleEntry(ClusteringDependentLogic.java:435)
> at org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.commitEntry(ClusteringDependentLogic.java:183)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:604)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:825)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:581)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.applyChanges(EntryWrappingInterceptor.java:637)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.lambda$setSkipRemoteGetsAndInvokeNextForDataCommand$8(EntryWrappingInterceptor.java:693)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextThenAccept(BaseAsyncInterceptor.java:109)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:690)
> at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitReadWriteKeyCommand(EntryWrappingInterceptor.java:497)
> at org.infinispan.commands.functional.ReadWriteKeyCommand.acceptVisitor(ReadWriteKeyCommand.java:104)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:58)
> at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitNonTxDataWriteCommand(AbstractLockingInterceptor.java:127)
> at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitDataWriteCommand(NonTransactionalLockingInterceptor.java:38)
> at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitReadWriteKeyCommand(AbstractLockingInterceptor.java:200)
> at org.infinispan.commands.functional.ReadWriteKeyCommand.acceptVisitor(ReadWriteKeyCommand.java:104)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:58)
> at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:326)
> at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:264)
> at org.infinispan.statetransfer.StateTransferInterceptor.visitReadWriteKeyCommand(StateTransferInterceptor.java:174)
> at org.infinispan.commands.functional.ReadWriteKeyCommand.acceptVisitor(ReadWriteKeyCommand.java:104)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:58)
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:55)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitReadWriteKeyCommand(DDAsyncInterceptor.java:214)
> at org.infinispan.commands.functional.ReadWriteKeyCommand.acceptVisitor(ReadWriteKeyCommand.java:104)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:127)
> at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:97)
> at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:60)
> at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:55)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitReadWriteKeyCommand(DDAsyncInterceptor.java:214)
> at org.infinispan.commands.functional.ReadWriteKeyCommand.acceptVisitor(ReadWriteKeyCommand.java:104)
> at org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:51)
> at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invokeAsync(AsyncInterceptorChainImpl.java:234)
> at org.infinispan.commands.remote.BaseRpcInvokingCommand.processVisitableCommandAsync(BaseRpcInvokingCommand.java:63)
> at org.infinispan.commands.remote.SingleRpcCommand.invokeAsync(SingleRpcCommand.java:57)
> at org.infinispan.remoting.inboundhandler.BasePerCacheInboundInvocationHandler.invokeCommand(BasePerCacheInboundInvocationHandler.java:101)
> at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.invoke(BaseBlockingRunnable.java:99)
> at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.runAsync(BaseBlockingRunnable.java:71)
> at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.run(BaseBlockingRunnable.java:40)
> ... 3 more
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months
[JBoss JIRA] (ISPN-7991) Compatibility between Rest and HotRod not working on both ways
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-7991?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes edited comment on ISPN-7991 at 7/7/17 10:37 AM:
------------------------------------------------------------------
[~mgencur] I want to achieve better usability, see \[1\].
If there's a way to make it work, great, I'd like to avoid changing compat mode since it's going to be removed soon.
I haven't actually test this, but the two ways It could probably work is:
* Set the StringMarshaller in the HR client, and set StringMarshaller as compat mode marshaller in the server EDIT: it would marshall both keys and values, but rest stores keys as String, so it'd probably not work
* Do not use compat mode at all ( :) ), set the StringMarshaller in the HR client and always deal with byte[] on both endpoints EDIT: rest ignores compat marshaller so it'd probably not work
If either of those 2 happens to work, in any case if I am using curl I already have my content as text, requiring me to produce a binary out of it is not good.
\[1\] https://developer.jboss.org/message/973741?et=watches.email.thread#973741
was (Author: gustavonalle):
[~mgencur] I want to achieve better usability, see \[1\].
If there's a way to make it work, great, I'd like to avoid changing compat mode since it's going to be removed soon.
I haven't actually test this, but the two ways It could probably work is:
* Set the StringMarshaller in the HR client, and set StringMarshaller as compat mode marshaller in the server;
* Do not use compat mode at all ( :) ), set the StringMarshaller in the HR client and always deal with byte[] on both endpoints
If either of those 2 happens to work, in any case if I am using curl I already have my content as text, requiring me to produce a binary out of it is not good.
\[1\] https://developer.jboss.org/message/973741?et=watches.email.thread#973741
> Compatibility between Rest and HotRod not working on both ways
> --------------------------------------------------------------
>
> Key: ISPN-7991
> URL: https://issues.jboss.org/browse/ISPN-7991
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.2.7.Final, 9.1.0.Beta1, 9.0.3.Final
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
>
> Writing via Hot Rod and reading via Rest works fine, but not the other way around
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months
[JBoss JIRA] (ISPN-7991) Compatibility between Rest and HotRod not working on both ways
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-7991?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes commented on ISPN-7991:
-----------------------------------------
[~mgencur] I want to achieve better usability, see \[1\].
If there's a way to make it work, great, I'd like to avoid changing compat mode since it's going to be removed soon.
I haven't actually test this, but the two ways It could probably work is:
* Set the StringMarshaller in the HR client, and set StringMarshaller as compat mode marshaller in the server;
* Do not use compat mode at all ( :) ), set the StringMarshaller in the HR client and always deal with byte[] on both endpoints
If either of those 2 happens to work, in any case if I am using curl I already have my content as text, requiring me to produce a binary out of it is not good.
\[1\] https://developer.jboss.org/message/973741?et=watches.email.thread#973741
> Compatibility between Rest and HotRod not working on both ways
> --------------------------------------------------------------
>
> Key: ISPN-7991
> URL: https://issues.jboss.org/browse/ISPN-7991
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 8.2.7.Final, 9.1.0.Beta1, 9.0.3.Final
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
>
> Writing via Hot Rod and reading via Rest works fine, but not the other way around
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months