Details
-
Bug
-
Resolution: Won't Fix
-
Critical
-
4.0.0
-
Security Level: Public
-
None
-
Untriaged
-
Unknown
-
Mar 9 - Mar 27
Description
In xdcr online upgrade test, we noticed that the CAS and expiry of documents changed after online upgrade.
1. Before upgrade, cluster consisted of a single node, A, with version 2.5.0-1059-rel. Document was as follows:
Doc seq: 6
id: loadOne175
rev: 2
content_meta: 131
size (on disk): 51
cas: 1432797353837527040, expiry: 1432797852, flags: 0
size: 512
data: (snappy) loadOne-175aaaaaaaaa....
2. A second node, B, with version sherlock-3039 was rebalanced into the cluster. The document on node B was as follows:
Doc seq: 4
id: loadOne175
rev: 3
content_meta: 131
size (on disk): 65
cas: 1432797821493444608, expiry: 1432798320, flags: 0, datatype: 0, conflict_resolution_mode: 0
size: 512
data: (snappy) loadOne-175aaaaaaaaaaaaa...
Note that the CAS and expiry of the document had changed.
3. Rebalanced out node A. Cluster ended up with a single node B with version sherlock-3039. The document on node B remained the same as that in 2.
In our test, we are using the following test script to control the upgrade.
./testrunner -i upgrade.ini -p upgrade_version=4.0.0-3039,initial_vbuckets=1024 -t "xdcr.upgradeXDCR.UpgradeTests.online_cluster_upgrade,initial_version=2.5.0-1059-rel,bucket_topology=default:1>2;standard_bucket_1:1<2;sasl_bucket_1:1><2,expires=500,post-upgrade-actions=src-rebalancein;dest-rebalanceout"
The upgrade.ini file is attached.
The test is pretty complex with multiple nodes in a cluster and upgrade being done on both source and target clusters. The test data shown above was produced by a simplified version of the test using only one node in a cluster. The issue should be reproducible in a simplified manual test.