[JBoss JIRA] (ISPN-2836) org.jgroups.TimeoutException after invoking MapCombineCommand in Map/Reduce task with 2 nodes
by Alan Field (JIRA)
[ https://issues.jboss.org/browse/ISPN-2836?page=com.atlassian.jira.plugin.... ]
Alan Field commented on ISPN-2836:
----------------------------------
Pedro, Sorry about #1. I recently changed LoadFileStage to write a byte[] value and added code to WordCounterMapper to coerce Object values to Strings. I can send you the code, if you like.
> org.jgroups.TimeoutException after invoking MapCombineCommand in Map/Reduce task with 2 nodes
> ---------------------------------------------------------------------------------------------
>
> Key: ISPN-2836
> URL: https://issues.jboss.org/browse/ISPN-2836
> Project: Infinispan
> Issue Type: Bug
> Components: Distributed Execution and Map/Reduce
> Affects Versions: 5.2.1.Final
> Reporter: Alan Field
> Assignee: Pedro Ruivo
> Priority: Blocker
> Labels: onboard
> Fix For: 5.3.0.Final
>
> Attachments: afield-tcp-521-final.txt, benchmark-mapreduce-multifilesize.xml, dist-udp-no-tx.xml, jgroups-udp.xml, udp-edg-perf01.txt, udp-edg-perf02.txt
>
>
> Using RadarGun and two nodes to execute the example WordCount Map/Reduce job against a cache with ~550 keys with a value size of 1MB is producing a thread deadlock. The cache is distributed with transactions disabled.
> TCP transport deadlocks without throwing an exception. Disabling the send queue and setting UNICAST2.conn_expiry_timeout=0 prevents the deadlock, but the job does not complete. The nodes send "are-you-alive" messages back and forth, and I have seen the following exception:
> {noformat}
> 11:44:29,970 ERROR [org.jgroups.protocols.TCP] (OOB-98,default,edg-perf01-1907) failed sending message to edg-perf02-32536 (76 bytes): java.net.SocketException: Socket closed, cause: null
> at org.infinispan.distexec.mapreduce.MapReduceTask.execute(MapReduceTask.java:352)
> at org.radargun.cachewrappers.InfinispanMapReduceWrapper.executeMapReduceTask(InfinispanMapReduceWrapper.java:98)
> at org.radargun.stages.MapReduceStage.executeOnSlave(MapReduceStage.java:74)
> at org.radargun.Slave$2.run(Slave.java:103)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:662)
> Caused by: java.util.concurrent.ExecutionException: org.infinispan.CacheException: org.jgroups.TimeoutException: timeout sending message to edg-perf02-32536
> at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
> at java.util.concurrent.FutureTask.get(FutureTask.java:83)
> at org.infinispan.distexec.mapreduce.MapReduceTask$TaskPart.get(MapReduceTask.java:832)
> at org.infinispan.distexec.mapreduce.MapReduceTask.executeMapPhaseWithLocalReduction(MapReduceTask.java:477)
> at org.infinispan.distexec.mapreduce.MapReduceTask.execute(MapReduceTask.java:350)
> ... 9 more
> Caused by: org.infinispan.CacheException: org.jgroups.TimeoutException: timeout sending message to edg-perf02-32536
> at org.infinispan.util.Util.rewrapAsCacheException(Util.java:541)
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:186)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotely(JGroupsTransport.java:515)
> 11:44:29,978 ERROR [org.jgroups.protocols.TCP] (Timer-3,default,edg-perf01-1907) failed sending message to edg-perf02-32536 (60 bytes): java.net.SocketException: Socket closed, cause: null
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:175)
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:197)
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:254)
> at org.infinispan.remoting.rpc.RpcManagerImpl.access$000(RpcManagerImpl.java:80)
> at org.infinispan.remoting.rpc.RpcManagerImpl$1.call(RpcManagerImpl.java:288)
> ... 5 more
> Caused by: org.jgroups.TimeoutException: timeout sending message to edg-perf02-32536
> at org.jgroups.blocks.MessageDispatcher.sendMessage(MessageDispatcher.java:390)
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.processSingleCall(CommandAwareRpcDispatcher.java:301)
> 11:44:29,979 ERROR [org.jgroups.protocols.TCP] (Timer-4,default,edg-perf01-1907) failed sending message to edg-perf02-32536 (63 bytes): java.net.SocketException: Socket closed, cause: null
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:179)
> ... 11 more
> {noformat}
> With UDP transport, both threads are deadlocked. I will attach thread dumps from runs using TCP and UDP transport.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 6 months
[JBoss JIRA] (ISPN-2836) org.jgroups.TimeoutException after invoking MapCombineCommand in Map/Reduce task with 2 nodes
by Pedro Ruivo (JIRA)
[ https://issues.jboss.org/browse/ISPN-2836?page=com.atlassian.jira.plugin.... ]
Pedro Ruivo commented on ISPN-2836:
-----------------------------------
Just some notes:
#1) the most recent version of Radargun does not work with the WordCountMap/Reduce, because the LoadFileStage is put a byte[] value and the WordCounterMapper is expecting a String (ClassCastException)
#2) I've found why the TimeoutException is thrown. The task takes too long to execute (> 1min 30sec in my laptop) and replication timeout is only 15 sec.
#3) I'm going try to find out why the system blocks after that.
> org.jgroups.TimeoutException after invoking MapCombineCommand in Map/Reduce task with 2 nodes
> ---------------------------------------------------------------------------------------------
>
> Key: ISPN-2836
> URL: https://issues.jboss.org/browse/ISPN-2836
> Project: Infinispan
> Issue Type: Bug
> Components: Distributed Execution and Map/Reduce
> Affects Versions: 5.2.1.Final
> Reporter: Alan Field
> Assignee: Pedro Ruivo
> Priority: Blocker
> Labels: onboard
> Fix For: 5.3.0.Final
>
> Attachments: afield-tcp-521-final.txt, benchmark-mapreduce-multifilesize.xml, dist-udp-no-tx.xml, jgroups-udp.xml, udp-edg-perf01.txt, udp-edg-perf02.txt
>
>
> Using RadarGun and two nodes to execute the example WordCount Map/Reduce job against a cache with ~550 keys with a value size of 1MB is producing a thread deadlock. The cache is distributed with transactions disabled.
> TCP transport deadlocks without throwing an exception. Disabling the send queue and setting UNICAST2.conn_expiry_timeout=0 prevents the deadlock, but the job does not complete. The nodes send "are-you-alive" messages back and forth, and I have seen the following exception:
> {noformat}
> 11:44:29,970 ERROR [org.jgroups.protocols.TCP] (OOB-98,default,edg-perf01-1907) failed sending message to edg-perf02-32536 (76 bytes): java.net.SocketException: Socket closed, cause: null
> at org.infinispan.distexec.mapreduce.MapReduceTask.execute(MapReduceTask.java:352)
> at org.radargun.cachewrappers.InfinispanMapReduceWrapper.executeMapReduceTask(InfinispanMapReduceWrapper.java:98)
> at org.radargun.stages.MapReduceStage.executeOnSlave(MapReduceStage.java:74)
> at org.radargun.Slave$2.run(Slave.java:103)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:662)
> Caused by: java.util.concurrent.ExecutionException: org.infinispan.CacheException: org.jgroups.TimeoutException: timeout sending message to edg-perf02-32536
> at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
> at java.util.concurrent.FutureTask.get(FutureTask.java:83)
> at org.infinispan.distexec.mapreduce.MapReduceTask$TaskPart.get(MapReduceTask.java:832)
> at org.infinispan.distexec.mapreduce.MapReduceTask.executeMapPhaseWithLocalReduction(MapReduceTask.java:477)
> at org.infinispan.distexec.mapreduce.MapReduceTask.execute(MapReduceTask.java:350)
> ... 9 more
> Caused by: org.infinispan.CacheException: org.jgroups.TimeoutException: timeout sending message to edg-perf02-32536
> at org.infinispan.util.Util.rewrapAsCacheException(Util.java:541)
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:186)
> at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotely(JGroupsTransport.java:515)
> 11:44:29,978 ERROR [org.jgroups.protocols.TCP] (Timer-3,default,edg-perf01-1907) failed sending message to edg-perf02-32536 (60 bytes): java.net.SocketException: Socket closed, cause: null
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:175)
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:197)
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:254)
> at org.infinispan.remoting.rpc.RpcManagerImpl.access$000(RpcManagerImpl.java:80)
> at org.infinispan.remoting.rpc.RpcManagerImpl$1.call(RpcManagerImpl.java:288)
> ... 5 more
> Caused by: org.jgroups.TimeoutException: timeout sending message to edg-perf02-32536
> at org.jgroups.blocks.MessageDispatcher.sendMessage(MessageDispatcher.java:390)
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.processSingleCall(CommandAwareRpcDispatcher.java:301)
> 11:44:29,979 ERROR [org.jgroups.protocols.TCP] (Timer-4,default,edg-perf01-1907) failed sending message to edg-perf02-32536 (63 bytes): java.net.SocketException: Socket closed, cause: null
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:179)
> ... 11 more
> {noformat}
> With UDP transport, both threads are deadlocked. I will attach thread dumps from runs using TCP and UDP transport.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 6 months
[JBoss JIRA] (ISPN-3126) PUT performance degradation in Infinispan 5.3
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-3126?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-3126:
-----------------------------------------------
Alan Field <afield(a)redhat.com> made a comment on [bug 965220|https://bugzilla.redhat.com/show_bug.cgi?id=965220]
This regression was caused by a stale value in the JGroups configuration file. The previous version of the file had UDP.bundler_type="old". In the new version of the file, the value is UDP.bundler_type="new". Here are the results with the new configuration file in place:
17:42:51,749 DEBUG [org.radargun.Master] (main) Starting 'LoadFileStage' on 8 slave nodes. Details: LoadFile {bucket=null, exitBenchmarkOnSlaveFailure=false, filePath=/qa/services/hudson/static_build_env/jdg/data/william-shakespeare-100MB.txt, printWriteStatistics=false, runOnAllSlaves=false, slaves=null, useSmartClassLoading=true, valueSize=1024 }
17:42:51,759 INFO [org.radargun.Slave] (pool-1-thread-1) Executing stage: LoadFile {bucket=null, exitBenchmarkOnSlaveFailure=false, filePath=/qa/services/hudson/static_build_env/jdg/data/william-shakespeare-100MB.txt, printWriteStatistics=false, runOnAllSlaves=false, slaves=null, useSmartClassLoading=true, valueSize=1024 }
17:42:51,761 INFO [org.radargun.stages.LoadFileStage] (pool-1-thread-1) Writing 1024 bytes to cache key: 7-7168 at position 8192
17:43:09,626 INFO [org.radargun.stages.LoadFileStage] (pool-1-thread-1) Writing 1024 bytes to cache key: 7-40967168 at position 40968192
17:43:17,487 INFO [org.radargun.stages.LoadFileStage] (pool-1-thread-1) Writing 1024 bytes to cache key: 7-81927168 at position 81928192
17:43:20,856 INFO [org.radargun.Slave] (pool-1-thread-1) Finished stage: LoadFile {bucket=null, exitBenchmarkOnSlaveFailure=false, filePath=/qa/services/hudson/static_build_env/jdg/data/william-shakespeare-100MB.txt, printWriteStatistics=false, runOnAllSlaves=false, slaves=null, useSmartClassLoading=true, valueSize=1024 }
17:43:20,857 INFO [org.radargun.Slave] (main) Ack successfully sent to the master
17:43:20,985 INFO [org.radargun.stages.LoadFileStage] (main) Received responses from all 8 slaves. Durations [0 = 29.16 seconds, 1 = 29.1 seconds, 2 = 29.2 seconds, 3 = 29.09 seconds, 4 = 29.13 seconds, 5 = 29.09 seconds, 6 = 29.22 seconds, 7 = 29.09 seconds]
17:43:20,987 INFO [org.radargun.stages.LoadFileStage] (main) --------------------
17:43:20,987 INFO [org.radargun.stages.LoadFileStage] (main) Size of file '/qa/services/hudson/static_build_env/jdg/data/william-shakespeare-100MB.txt' is 100623474 bytes
17:43:20,987 INFO [org.radargun.stages.LoadFileStage] (main) Value size is '1024' which will produce 98266 keys
17:43:20,987 INFO [org.radargun.stages.LoadFileStage] (main) Slave 0 wrote 12284 values to the cache with a total size of 12578816 bytes
17:43:20,988 INFO [org.radargun.stages.LoadFileStage] (main) Slave 1 wrote 12284 values to the cache with a total size of 12577906 bytes
17:43:20,988 INFO [org.radargun.stages.LoadFileStage] (main) Slave 2 wrote 12283 values to the cache with a total size of 12577792 bytes
17:43:20,988 INFO [org.radargun.stages.LoadFileStage] (main) Slave 3 wrote 12283 values to the cache with a total size of 12577792 bytes
17:43:20,988 INFO [org.radargun.stages.LoadFileStage] (main) Slave 4 wrote 12283 values to the cache with a total size of 12577792 bytes
17:43:20,989 INFO [org.radargun.stages.LoadFileStage] (main) Slave 5 wrote 12283 values to the cache with a total size of 12577792 bytes
17:43:20,989 INFO [org.radargun.stages.LoadFileStage] (main) Slave 6 wrote 12283 values to the cache with a total size of 12577792 bytes
17:43:20,989 INFO [org.radargun.stages.LoadFileStage] (main) Slave 7 wrote 12283 values to the cache with a total size of 12577792 bytes
17:43:20,989 INFO [org.radargun.stages.LoadFileStage] (main) --------------------
These values are consistent with JDG 6.1. Maybe JGroups 3.3.x should print a warning message when UDP.bundler_type="old" is being used?
> PUT performance degradation in Infinispan 5.3
> ---------------------------------------------
>
> Key: ISPN-3126
> URL: https://issues.jboss.org/browse/ISPN-3126
> Project: Infinispan
> Issue Type: Feature Request
> Affects Versions: 5.3.0.Beta2, 5.3.0.CR1
> Reporter: Mircea Markus
> Assignee: Mircea Markus
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 6 months
[JBoss JIRA] (ISPN-3182) Compatibility mode does not work correctly in ISPN server
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-3182?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant commented on ISPN-3182:
---------------------------------------
While the key here is getting correctly interpreted:
PutKeyValueCommand{key=1, value=v1, flags=[OPERATION_HOTROD], putIfAbsent=false, metadata=EmbeddedMetadata{version=ServerEntryVersion(1)}, successful=true}.
Here it is still a byte[]:
GetKeyValueCommand {key=[B0x033e0131..(4), flags=null}
> Compatibility mode does not work correctly in ISPN server
> ---------------------------------------------------------
>
> Key: ISPN-3182
> URL: https://issues.jboss.org/browse/ISPN-3182
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Reporter: Martin Gencur
> Assignee: Tristan Tarrant
> Priority: Critical
> Fix For: 5.3.0.Final
>
>
> ISPN version: f6d1761 - Galder Zamarreño, ISPN-3062 Push JCache TCK output to screen
> Using <compatibility enabled="true"> , storing an antry via HotRod, and reading it again via HotRod fails -> null is returned.
> If the compatibility mode is disabled, the HotRod's get() operation returns the correct value.
> The following code snippet illustrates the bug:
> {code:java}
> @Test
> public void testHotRodPutRestGetTest() throws Exception {
> final String key = "1";
> // 1. Put with Hot Rod
> RemoteCache<String, byte[]> remote = getHotRodCache();
> assertEquals(null, remote.withFlags(Flag.FORCE_RETURN_VALUE).put(key, "v1".getBytes()));
> assertArrayEquals("v1".getBytes(), remote.get(key));
> //^^^^ --------- fails here
> // 2. Get with REST
> HttpMethod get = new GetMethod(getRestUrl() + "/" + key);
> getRestClient().executeMethod(get);
> assertEquals(HttpServletResponse.SC_OK, get.getStatusCode());
> assertEquals("v1".getBytes(), get.getResponseBody());
> }
> {code}
> The tests along with the example configuration file can be found at https://github.com/mgencur/infinispan-server/tree/ISPN-3176/compatibility...
> The relevant part of TRACE log is here:
> {code}
> 14:54:57,066 TRACE [org.infinispan.util.concurrent.locks.LockManagerImpl] (HotRodServerWorker-3) Successfully acquired lock 1!
> 14:54:57,066 TRACE [org.infinispan.interceptors.EntryWrappingInterceptor] (HotRodServerWorker-3) Wrapping entry '1'? true
> 14:54:57,066 TRACE [org.infinispan.container.EntryFactoryImpl] (HotRodServerWorker-3) Exists in context? null
> 14:54:57,067 TRACE [org.infinispan.container.EntryFactoryImpl] (HotRodServerWorker-3) Retrieved from container null
> 14:54:57,067 TRACE [org.infinispan.container.EntryFactoryImpl] (HotRodServerWorker-3) Creating new entry.
> 14:54:57,069 TRACE [org.infinispan.interceptors.CallInterceptor] (HotRodServerWorker-3) Executing command: PutKeyValueCommand{key=1, value=v1, flags=[OPERATION_HOTROD], putIfAbsent=false, metadata=EmbeddedMetadata{version=ServerEntryVersion(1)}, successful=true}.
> 14:54:57,070 TRACE [org.infinispan.interceptors.EntryWrappingInterceptor] (HotRodServerWorker-3) About to commit entry ReadCommittedEntry(74161820){key=1, value=v1, oldValue=null, isCreated=true, isChanged=true, isRemoved=false, isValid=true}
> 14:54:57,071 TRACE [org.infinispan.container.entries.ReadCommittedEntry] (HotRodServerWorker-3) Updating entry (key=1 removed=false valid=true changed=true created=true loaded=false value=v1]
> 14:54:57,071 TRACE [org.infinispan.interceptors.EntryWrappingInterceptor] (HotRodServerWorker-3) The return value is null
> 14:54:57,072 TRACE [org.infinispan.util.concurrent.locks.LockManagerImpl] (HotRodServerWorker-3) Attempting to unlock 1
> 14:54:57,073 TRACE [org.infinispan.util.concurrent.locks.containers.ReentrantPerEntryLockContainer] (HotRodServerWorker-3) Unlocking lock instance for key 1
> 14:54:57,074 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) Write response ResponseWithPrevious{version=12, messageId=3, operation=PutResponse, status=Success, previous=null}
> 14:54:57,074 TRACE [org.infinispan.server.hotrod.HotRodEncoder] (HotRodServerWorker-3) Encode msg ResponseWithPrevious{version=12, messageId=3, operation=PutResponse, status=Success, previous=null}
> 14:54:57,075 TRACE [org.infinispan.server.hotrod.Encoders$Encoder12$] (HotRodServerWorker-3) Write topology response header with no change
> 14:54:57,075 TRACE [org.infinispan.server.hotrod.HotRodEncoder] (HotRodServerWorker-3) Write buffer contents A10302000000 to channel [id: 0x6ef9bcb3, /127.0.0.1:55677 => /127.0.0.1:11222]
> 14:54:57,078 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) Decode using instance @265b1dbd
> 14:54:57,078 TRACE [org.infinispan.server.hotrod.Decoder10$] (HotRodServerWorker-3) Operation code: 3 has been matched to GetRequest
> 14:54:57,079 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) Decoded header HotRodHeader{op=GetRequest, version=12, messageId=4, cacheName=, flag=0, clientIntelligence=3, topologyId=-1}
> 14:54:57,079 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) Decode using instance @265b1dbd
> 14:54:57,080 TRACE [org.infinispan.interceptors.InvocationContextInterceptor] (HotRodServerWorker-3) Invoked with command GetKeyValueCommand {key=[B0x033e0131..(4), flags=null} and InvocationContext [org.infinispan.context.SingleKeyNonTxInvocationContext@721c2e8a]
> 14:54:57,080 TRACE [org.infinispan.container.EntryFactoryImpl] (HotRodServerWorker-3) Exists in context? null
> 14:54:57,080 TRACE [org.infinispan.container.EntryFactoryImpl] (HotRodServerWorker-3) Retrieved from container null
> 14:54:57,080 TRACE [org.infinispan.interceptors.CallInterceptor] (HotRodServerWorker-3) Executing command: GetKeyValueCommand {key=[B0x033e0131..(4), flags=null}.
> 14:54:57,081 TRACE [org.infinispan.commands.read.GetKeyValueCommand] (HotRodServerWorker-3) Entry not found
> 14:54:57,081 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) Write response GetResponse{version=12, messageId=4, operation=GetResponse, status=KeyDoesNotExist, data=null}
> 14:54:57,081 TRACE [org.infinispan.server.hotrod.HotRodEncoder] (HotRodServerWorker-3) Encode msg GetResponse{version=12, messageId=4, operation=GetResponse, status=KeyDoesNotExist, data=null}
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 6 months
[JBoss JIRA] (ISPN-3182) Compatibility mode does not work correctly in ISPN server
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-3182?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-3182:
----------------------------------
Priority: Critical (was: Major)
> Compatibility mode does not work correctly in ISPN server
> ---------------------------------------------------------
>
> Key: ISPN-3182
> URL: https://issues.jboss.org/browse/ISPN-3182
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Reporter: Martin Gencur
> Assignee: Tristan Tarrant
> Priority: Critical
> Fix For: 5.3.0.Final
>
>
> ISPN version: f6d1761 - Galder Zamarreño, ISPN-3062 Push JCache TCK output to screen
> Using <compatibility enabled="true"> , storing an antry via HotRod, and reading it again via HotRod fails -> null is returned.
> If the compatibility mode is disabled, the HotRod's get() operation returns the correct value.
> The following code snippet illustrates the bug:
> {code:java}
> @Test
> public void testHotRodPutRestGetTest() throws Exception {
> final String key = "1";
> // 1. Put with Hot Rod
> RemoteCache<String, byte[]> remote = getHotRodCache();
> assertEquals(null, remote.withFlags(Flag.FORCE_RETURN_VALUE).put(key, "v1".getBytes()));
> assertArrayEquals("v1".getBytes(), remote.get(key));
> //^^^^ --------- fails here
> // 2. Get with REST
> HttpMethod get = new GetMethod(getRestUrl() + "/" + key);
> getRestClient().executeMethod(get);
> assertEquals(HttpServletResponse.SC_OK, get.getStatusCode());
> assertEquals("v1".getBytes(), get.getResponseBody());
> }
> {code}
> The tests along with the example configuration file can be found at https://github.com/mgencur/infinispan-server/tree/ISPN-3176/compatibility...
> The relevant part of TRACE log is here:
> {code}
> 14:54:57,066 TRACE [org.infinispan.util.concurrent.locks.LockManagerImpl] (HotRodServerWorker-3) Successfully acquired lock 1!
> 14:54:57,066 TRACE [org.infinispan.interceptors.EntryWrappingInterceptor] (HotRodServerWorker-3) Wrapping entry '1'? true
> 14:54:57,066 TRACE [org.infinispan.container.EntryFactoryImpl] (HotRodServerWorker-3) Exists in context? null
> 14:54:57,067 TRACE [org.infinispan.container.EntryFactoryImpl] (HotRodServerWorker-3) Retrieved from container null
> 14:54:57,067 TRACE [org.infinispan.container.EntryFactoryImpl] (HotRodServerWorker-3) Creating new entry.
> 14:54:57,069 TRACE [org.infinispan.interceptors.CallInterceptor] (HotRodServerWorker-3) Executing command: PutKeyValueCommand{key=1, value=v1, flags=[OPERATION_HOTROD], putIfAbsent=false, metadata=EmbeddedMetadata{version=ServerEntryVersion(1)}, successful=true}.
> 14:54:57,070 TRACE [org.infinispan.interceptors.EntryWrappingInterceptor] (HotRodServerWorker-3) About to commit entry ReadCommittedEntry(74161820){key=1, value=v1, oldValue=null, isCreated=true, isChanged=true, isRemoved=false, isValid=true}
> 14:54:57,071 TRACE [org.infinispan.container.entries.ReadCommittedEntry] (HotRodServerWorker-3) Updating entry (key=1 removed=false valid=true changed=true created=true loaded=false value=v1]
> 14:54:57,071 TRACE [org.infinispan.interceptors.EntryWrappingInterceptor] (HotRodServerWorker-3) The return value is null
> 14:54:57,072 TRACE [org.infinispan.util.concurrent.locks.LockManagerImpl] (HotRodServerWorker-3) Attempting to unlock 1
> 14:54:57,073 TRACE [org.infinispan.util.concurrent.locks.containers.ReentrantPerEntryLockContainer] (HotRodServerWorker-3) Unlocking lock instance for key 1
> 14:54:57,074 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) Write response ResponseWithPrevious{version=12, messageId=3, operation=PutResponse, status=Success, previous=null}
> 14:54:57,074 TRACE [org.infinispan.server.hotrod.HotRodEncoder] (HotRodServerWorker-3) Encode msg ResponseWithPrevious{version=12, messageId=3, operation=PutResponse, status=Success, previous=null}
> 14:54:57,075 TRACE [org.infinispan.server.hotrod.Encoders$Encoder12$] (HotRodServerWorker-3) Write topology response header with no change
> 14:54:57,075 TRACE [org.infinispan.server.hotrod.HotRodEncoder] (HotRodServerWorker-3) Write buffer contents A10302000000 to channel [id: 0x6ef9bcb3, /127.0.0.1:55677 => /127.0.0.1:11222]
> 14:54:57,078 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) Decode using instance @265b1dbd
> 14:54:57,078 TRACE [org.infinispan.server.hotrod.Decoder10$] (HotRodServerWorker-3) Operation code: 3 has been matched to GetRequest
> 14:54:57,079 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) Decoded header HotRodHeader{op=GetRequest, version=12, messageId=4, cacheName=, flag=0, clientIntelligence=3, topologyId=-1}
> 14:54:57,079 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) Decode using instance @265b1dbd
> 14:54:57,080 TRACE [org.infinispan.interceptors.InvocationContextInterceptor] (HotRodServerWorker-3) Invoked with command GetKeyValueCommand {key=[B0x033e0131..(4), flags=null} and InvocationContext [org.infinispan.context.SingleKeyNonTxInvocationContext@721c2e8a]
> 14:54:57,080 TRACE [org.infinispan.container.EntryFactoryImpl] (HotRodServerWorker-3) Exists in context? null
> 14:54:57,080 TRACE [org.infinispan.container.EntryFactoryImpl] (HotRodServerWorker-3) Retrieved from container null
> 14:54:57,080 TRACE [org.infinispan.interceptors.CallInterceptor] (HotRodServerWorker-3) Executing command: GetKeyValueCommand {key=[B0x033e0131..(4), flags=null}.
> 14:54:57,081 TRACE [org.infinispan.commands.read.GetKeyValueCommand] (HotRodServerWorker-3) Entry not found
> 14:54:57,081 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) Write response GetResponse{version=12, messageId=4, operation=GetResponse, status=KeyDoesNotExist, data=null}
> 14:54:57,081 TRACE [org.infinispan.server.hotrod.HotRodEncoder] (HotRodServerWorker-3) Encode msg GetResponse{version=12, messageId=4, operation=GetResponse, status=KeyDoesNotExist, data=null}
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 6 months
[JBoss JIRA] (ISPN-3182) Compatibility mode does not work correctly in ISPN server
by Martin Gencur (JIRA)
Martin Gencur created ISPN-3182:
-----------------------------------
Summary: Compatibility mode does not work correctly in ISPN server
Key: ISPN-3182
URL: https://issues.jboss.org/browse/ISPN-3182
Project: Infinispan
Issue Type: Bug
Components: Server
Reporter: Martin Gencur
Assignee: Tristan Tarrant
Fix For: 5.3.0.Final
ISPN version: f6d1761 - Galder Zamarreño, ISPN-3062 Push JCache TCK output to screen
Using <compatibility enabled="true"> , storing an antry via HotRod, and reading it again via HotRod fails -> null is returned.
If the compatibility mode is disabled, the HotRod's get() operation returns the correct value.
The following code snippet illustrates the bug:
{code:java}
@Test
public void testHotRodPutRestGetTest() throws Exception {
final String key = "1";
// 1. Put with Hot Rod
RemoteCache<String, byte[]> remote = getHotRodCache();
assertEquals(null, remote.withFlags(Flag.FORCE_RETURN_VALUE).put(key, "v1".getBytes()));
assertArrayEquals("v1".getBytes(), remote.get(key));
//^^^^ --------- fails here
// 2. Get with REST
HttpMethod get = new GetMethod(getRestUrl() + "/" + key);
getRestClient().executeMethod(get);
assertEquals(HttpServletResponse.SC_OK, get.getStatusCode());
assertEquals("v1".getBytes(), get.getResponseBody());
}
{code}
The tests along with the example configuration file can be found at https://github.com/mgencur/infinispan-server/tree/ISPN-3176/compatibility...
The relevant part of TRACE log is here:
{code}
14:54:57,066 TRACE [org.infinispan.util.concurrent.locks.LockManagerImpl] (HotRodServerWorker-3) Successfully acquired lock 1!
14:54:57,066 TRACE [org.infinispan.interceptors.EntryWrappingInterceptor] (HotRodServerWorker-3) Wrapping entry '1'? true
14:54:57,066 TRACE [org.infinispan.container.EntryFactoryImpl] (HotRodServerWorker-3) Exists in context? null
14:54:57,067 TRACE [org.infinispan.container.EntryFactoryImpl] (HotRodServerWorker-3) Retrieved from container null
14:54:57,067 TRACE [org.infinispan.container.EntryFactoryImpl] (HotRodServerWorker-3) Creating new entry.
14:54:57,069 TRACE [org.infinispan.interceptors.CallInterceptor] (HotRodServerWorker-3) Executing command: PutKeyValueCommand{key=1, value=v1, flags=[OPERATION_HOTROD], putIfAbsent=false, metadata=EmbeddedMetadata{version=ServerEntryVersion(1)}, successful=true}.
14:54:57,070 TRACE [org.infinispan.interceptors.EntryWrappingInterceptor] (HotRodServerWorker-3) About to commit entry ReadCommittedEntry(74161820){key=1, value=v1, oldValue=null, isCreated=true, isChanged=true, isRemoved=false, isValid=true}
14:54:57,071 TRACE [org.infinispan.container.entries.ReadCommittedEntry] (HotRodServerWorker-3) Updating entry (key=1 removed=false valid=true changed=true created=true loaded=false value=v1]
14:54:57,071 TRACE [org.infinispan.interceptors.EntryWrappingInterceptor] (HotRodServerWorker-3) The return value is null
14:54:57,072 TRACE [org.infinispan.util.concurrent.locks.LockManagerImpl] (HotRodServerWorker-3) Attempting to unlock 1
14:54:57,073 TRACE [org.infinispan.util.concurrent.locks.containers.ReentrantPerEntryLockContainer] (HotRodServerWorker-3) Unlocking lock instance for key 1
14:54:57,074 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) Write response ResponseWithPrevious{version=12, messageId=3, operation=PutResponse, status=Success, previous=null}
14:54:57,074 TRACE [org.infinispan.server.hotrod.HotRodEncoder] (HotRodServerWorker-3) Encode msg ResponseWithPrevious{version=12, messageId=3, operation=PutResponse, status=Success, previous=null}
14:54:57,075 TRACE [org.infinispan.server.hotrod.Encoders$Encoder12$] (HotRodServerWorker-3) Write topology response header with no change
14:54:57,075 TRACE [org.infinispan.server.hotrod.HotRodEncoder] (HotRodServerWorker-3) Write buffer contents A10302000000 to channel [id: 0x6ef9bcb3, /127.0.0.1:55677 => /127.0.0.1:11222]
14:54:57,078 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) Decode using instance @265b1dbd
14:54:57,078 TRACE [org.infinispan.server.hotrod.Decoder10$] (HotRodServerWorker-3) Operation code: 3 has been matched to GetRequest
14:54:57,079 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) Decoded header HotRodHeader{op=GetRequest, version=12, messageId=4, cacheName=, flag=0, clientIntelligence=3, topologyId=-1}
14:54:57,079 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) Decode using instance @265b1dbd
14:54:57,080 TRACE [org.infinispan.interceptors.InvocationContextInterceptor] (HotRodServerWorker-3) Invoked with command GetKeyValueCommand {key=[B0x033e0131..(4), flags=null} and InvocationContext [org.infinispan.context.SingleKeyNonTxInvocationContext@721c2e8a]
14:54:57,080 TRACE [org.infinispan.container.EntryFactoryImpl] (HotRodServerWorker-3) Exists in context? null
14:54:57,080 TRACE [org.infinispan.container.EntryFactoryImpl] (HotRodServerWorker-3) Retrieved from container null
14:54:57,080 TRACE [org.infinispan.interceptors.CallInterceptor] (HotRodServerWorker-3) Executing command: GetKeyValueCommand {key=[B0x033e0131..(4), flags=null}.
14:54:57,081 TRACE [org.infinispan.commands.read.GetKeyValueCommand] (HotRodServerWorker-3) Entry not found
14:54:57,081 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-3) Write response GetResponse{version=12, messageId=4, operation=GetResponse, status=KeyDoesNotExist, data=null}
14:54:57,081 TRACE [org.infinispan.server.hotrod.HotRodEncoder] (HotRodServerWorker-3) Encode msg GetResponse{version=12, messageId=4, operation=GetResponse, status=KeyDoesNotExist, data=null}
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 6 months