For your method to work, you have to restore like-for-like, i.e. you need to mirror the source nodes by using the exact same tokens in system.local.
For example, if source node A has tokens 567, 678 and 789, then you need to setup the equivalent target node with exactly those tokens. Otherwise, the new nodes will own a different range of tokens and the data in the sstables will not necessarily match. Cheers! On Thu, Aug 31, 2017 at 9:06 AM, Jai Bheemsen Rao Dhanwada < jaibheem...@gmail.com> wrote: > Hello All, > > I am trying to restore a cluster with VNODE(s) to a new cluster using the > snapshot. > After the restore when I query data from cql I see some random data is > missing. > > I used the below steps to restore > > 1. Snapshot on the source cluster > 2. Setup new cluster(VNODEs) with the same schema as source cluster. > 3. Restore the snapshot to the specific CF directory > 4. Restart the node. > 5. Now when I query through CQL I see some data is missing. > > I looked at the procedure documented in : http://docs.datastax.com/en/ > cassandra/2.1/cassandra/operations/ops_snapshot_restore_new_cluster.html > > When I try to follow the steps in the above doc, especially replacing the > num_tokens with initial_token: from the source cluster token, I get the > below error. > > ERROR [main] 2017-08-30 17:17:20,878 CassandraDaemon.java:395 - Fatal > configuration error org.apache.cassandra.exceptions.ConfigurationException: > Cannot change the number of tokens from 256 to 1 at > org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:972) > ~[apache-cassandra-2.1.16.jar:2.1.16] at org.apache.cassandra.service. > StorageService.initServer(StorageService.java:740) > ~[apache-cassandra-2.1.16.jar:2.1.16] at org.apache.cassandra.service. > StorageService.initServer(StorageService.java:617) > ~[apache-cassandra-2.1.16.jar:2.1.16] at org.apache.cassandra.service. > CassandraDaemon.setup(CassandraDaemon.java:391) > [apache-cassandra-2.1.16.jar:2.1.16] at org.apache.cassandra.service. > CassandraDaemon.activate(CassandraDaemon.java:566) > [apache-cassandra-2.1.16.jar:2.1.16] at org.apache.cassandra.service. > CassandraDaemon.main(CassandraDaemon.java:655) > [apache-cassandra-2.1.16.jar:2.1.16] INFO [StorageServiceShutdownHook] > 2017-08-30 17:17:20,898 Gossiper.java:1454 - Announcing shutdown INFO > [StorageServiceShutdownHook] 2017-08-30 17:17:22,902 > MessagingService.java:734 - Waiting for messaging service to quiesce INFO > [ACCEPT-/x <http://10.16.4.182/>.x.x.x] 2017-08-30 17:17:22,903 > MessagingService.java:1020 - MessagingService has terminated the accept() > thread > > any pointers on this? >