Bug 989970
| Summary: | CLI upgrade command does not work | ||
|---|---|---|---|
| Product: | [JBoss] JBoss Data Grid 6 | Reporter: | Vitalii Chepeliuk <vchepeli> |
| Component: | Infinispan | Assignee: | Tristan Tarrant <ttarrant> |
| Status: | CLOSED UPSTREAM | QA Contact: | Martin Gencur <mgencur> |
| Severity: | high | Docs Contact: | |
| Priority: | medium | ||
| Version: | 6.2.0 | CC: | jdg-bugs |
| Target Milestone: | CR2 | ||
| Target Release: | 6.2.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Known Issue | |
| Doc Text: |
When data is being migrated via CLI from a node with old version of JBoss Data Grid to a node with new version, an error occurs during synchronization. This happens when the upgrade command is called on the new node with parameter --synchronize=hotrod. This results in data not properly migrating from the old node to the new one.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2025-02-10 03:28:13 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Vitalii Chepeliuk
2013-07-30 08:32:25 UTC
Tristan Tarrant <ttarrant> made a comment on jira ISPN-3376 Can you please include source and target logs ? Vitalii Chepeliuk <vchepeli> made a comment on jira ISPN-3376 Added server logs Testes and looks like this bug is not fixed. The same error as before
I do this
In order to perform a rolling upgrade of a HotRod cluster, the following steps must be taken
1. Configure and start a new cluster with a RemoteCacheStore pointing to the old cluster and the
hotRodWrapping flag enabled
2. Configure all clients so that they will connect to the new cluster
3. Invoke the
upgrade --dumpkeys command on the old cluster for all of the caches that need to be migrated
4. Invoke the
upgrade --synchronize=hotrod command on the new cluster to ensure that all data is migrated from the old cluster to the new one
5. Invoke the
upgrade --disconnectsource=hotrod command on the new cluster to disable the RemoteCacheStore used to migrate the data
6. Switch off the old cluster
And get exception
And exception
ISPN019026: An error occurred while synchronizing data for cache 'hotrod' using migrator 'default' from the source server
Vitalii: I have tried several times and cannot reproduce this issue. Here what I was doing, 6.1.0.GA server [remoting://localhost:9999/local/default]> upgrade --dumpkeys default ISPN019502: Dumped keys for cache default [remoting://localhost:9999/local/default]> upgrade --dumpkeys --all ISPN019502: Dumped keys for cache default ISPN019502: Dumped keys for cache namedCache ISPN019502: Dumped keys for cache memcachedCache ISPN019502: Dumped keys for cache ___defaultcache [remoting://localhost:9999/local/default]> 6.2.0.ER4 server [remoting://localhost:10110/local/]> upgrade --synchronize=hotrod default ISPN019026: An error occurred while synchronizing data for cache 'hotrod' using migrator 'default' from the source server [remoting://localhost:10110/local/]> upgrade --synchronize=hotrod ISPN019016: No such cache: 'null' [remoting://localhost:10110/local/]> upgrade --synchronize=hotrod default ISPN019026: An error occurred while synchronizing data for cache 'hotrod' using migrator 'default' from the source server [remoting://localhost:10110/local/]> [remoting://localhost:10110/local/default]> upgrade --synchronize=hotrod --all ISPN019026: An error occurred while synchronizing data for cache 'hotrod' using migrator 'default' from the source server Maybe I am losing something but I do what is written what "help upgrade" says in USAGE ah, it looks like it's confusing the cache name with the synchronizer name (In reply to Tristan Tarrant from comment #7) > ah, it looks like it's confusing the cache name with the synchronizer name Yes, that's only problem remains I think Mircea Markus <mmarkus> updated the status of jira ISPN-3376 to Resolved CR1 client uses new protocol version of hotrod 13. When 1.3 client communicates with 6.1.0 GA server following exception is thrown 23:36:05,923 ERROR [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-4) ISPN005003: Exception reported: org.infinispan.server.hotrod.RequestParsingException: Unable to parse header at org.infinispan.server.hotrod.HotRodDecoder.readHeader(HotRodDecoder.scala:94) [infinispan-server-hotrod-5.2.4.Final-redhat-1.jar:5.2.4.Final-redhat-1] at org.infinispan.server.hotrod.HotRodDecoder.readHeader(HotRodDecoder.scala:45) [infinispan-server-hotrod-5.2.4.Final-redhat-1.jar:5.2.4.Final-redhat-1] at org.infinispan.server.core.AbstractProtocolDecoder.decodeHeader(AbstractProtocolDecoder.scala:94) [infinispan-server-core-5.2.4.Final-redhat-1.jar:5.2.4.Final-redhat-1] at org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:70) [infinispan-server-core-5.2.4.Final-redhat-1.jar:5.2.4.Final-redhat-1] at org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:47) [infinispan-server-core-5.2.4.Final-redhat-1.jar:5.2.4.Final-redhat-1] at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:500) [netty-3.6.2.Final-redhat-1.jar:3.6.2.Final-redhat-1] at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435) [netty-3.6.2.Final-redhat-1.jar:3.6.2.Final-redhat-1] at org.infinispan.server.core.AbstractProtocolDecoder.messageReceived(AbstractProtocolDecoder.scala:387) [infinispan-server-core-5.2.4.Final-redhat-1.jar:5.2.4.Final-redhat-1] at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) [netty-3.6.2.Final-redhat-1.jar:3.6.2.Final-redhat-1] at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560) [netty-3.6.2.Final-redhat-1.jar:3.6.2.Final-redhat-1] at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:555) [netty-3.6.2.Final-redhat-1.jar:3.6.2.Final-redhat-1] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) [netty-3.6.2.Final-redhat-1.jar:3.6.2.Final-redhat-1] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) [netty-3.6.2.Final-redhat-1.jar:3.6.2.Final-redhat-1] at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88) [netty-3.6.2.Final-redhat-1.jar:3.6.2.Final-redhat-1] at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:107) [netty-3.6.2.Final-redhat-1.jar:3.6.2.Final-redhat-1] at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312) [netty-3.6.2.Final-redhat-1.jar:3.6.2.Final-redhat-1] at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:88) [netty-3.6.2.Final-redhat-1.jar:3.6.2.Final-redhat-1] at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) [netty-3.6.2.Final-redhat-1.jar:3.6.2.Final-redhat-1] at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) [netty-3.6.2.Final-redhat-1.jar:3.6.2.Final-redhat-1] at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) [netty-3.6.2.Final-redhat-1.jar:3.6.2.Final-redhat-1] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45] at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45] Caused by: org.infinispan.server.hotrod.UnknownVersionException: Unknown version:13 at org.infinispan.server.hotrod.HotRodDecoder.readHeader(HotRodDecoder.scala:80) [infinispan-server-hotrod-5.2.4.Final-redhat-1.jar:5.2.4.Final-redhat-1] ... 22 more Threre is no option for upgrade command to specify protocol version of hotrod client to be used. Works nicely in CR2. Verified. The incorrect warning "ISPN019026: An error occurred while synchronizing data for cache 'hotrod' using migrator 'default' from the source server" (incorrect just because the migrator and the cache name are swapped in it) might still happen but only if there's another problem, such as configuration issue. The rolling upgrade process is smooth when performed correctly. So I think this command does not work now properly
Steps to reproduce
1) Unzip ER4 build and copy to server0 folder
2) Unzip ER4 build and copy to server1 folder
3) copy sample configuration from examples/configs folder
a)cp server1/docs/examples/configs/standalone-hotrod-rolling-upgrade.xml to server1/standalone/configuration/
b)cp server1/docs/examples/configs/standalone-rest-rolling-upgrade.xml to server1/standalone/configuration/
4) change configuration for server1/stanalone/configuration/standalone-hotrod-rolling-upgrade.xml
a) change default port-offset from 0 to 100
b) change remote-host to localhost in outbound socket binding configuration
5) start servers
a) start server0, server0/bin/standalone.sh -c standalone.xml
b) start server1, server1/bin/standalone.sh -c standalone-hotrod-rolling-upgrade.xml
6) connect to server via cli
a) server0/bin/ispn-cli.ch
connect localhost:9999
cache default
put --codec=hotrod key1 val1
put --codec=hotrod key2 val2
put --codec=hotrod key3 val3
upgrade --dumpkeys --all
Should see message
ISPN019502: Dumped keys for cache namedCache
ISPN019502: Dumped keys for cache default
ISPN019502: Dumped keys for cache memcachedCache
ISPN019502: Dumped keys for cache ___defaultcache
b) server1/bin/ispn-cli.sh
connect localhost:10099
upgrade --synchronize=hotrod
Following message is shown
ISPN019026: An error occurred while synchronizing data for cache 'hotrod' using migrator 'default' from the source server
Here is output from my console [standalone@localhost:10099 /] upgrade --synchronize=hotrod ISPN019016: No such cache: 'null' [standalone@localhost:10099 /] upgrade --synchronize=hotrod default ISPN019026: An error occurred while synchronizing data for cache 'hotrod' using migrator 'default' from the source server [standalone@localhost:10099 /] upgrade --synchronize=hotrod --all ISPN019026: An error occurred while synchronizing data for cache 'hotrod' using migrator 'default' from the source server [standalone@localhost:10099 /] upgrade --synchronize=hotrod --all ISPN019026: An error occurred while synchronizing data for cache 'hotrod' using migrator 'default' from the source server [standalone@localhost:10099 /] cache default [standalone@localhost:10099 /] upgrade --synchronize=hotrod ISPN019026: An error occurred while synchronizing data for cache 'hotrod' using migrator 'default' from the source server [standalone@localhost:10099 /] This product has been discontinued or is no longer tracked in Red Hat Bugzilla. |