diff options
author | Bernard Gorman <bernard.gorman@gmail.com> | 2019-01-23 16:32:45 +0000 |
---|---|---|
committer | Bernard Gorman <bernard.gorman@gmail.com> | 2019-02-28 01:13:38 +0000 |
commit | 25dea813a6f3a63bd0c39c075457379daadc1e32 (patch) | |
tree | 6a53fd3cf6c27ce5ae81224e380470acaaf03874 /src/mongo/db/pipeline/document_source_change_stream_transform.cpp | |
parent | a74b2f39025fee2c59aa5437deea6e06f05e18ca (diff) | |
download | mongo-25dea813a6f3a63bd0c39c075457379daadc1e32.tar.gz |
SERVER-38414 Upgrade/Downgrade testing for change stream high water marks
Diffstat (limited to 'src/mongo/db/pipeline/document_source_change_stream_transform.cpp')
-rw-r--r-- | src/mongo/db/pipeline/document_source_change_stream_transform.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mongo/db/pipeline/document_source_change_stream_transform.cpp b/src/mongo/db/pipeline/document_source_change_stream_transform.cpp index 2f1fbdfc552..59c54714ad0 100644 --- a/src/mongo/db/pipeline/document_source_change_stream_transform.cpp +++ b/src/mongo/db/pipeline/document_source_change_stream_transform.cpp @@ -178,7 +178,11 @@ ResumeTokenData DocumentSourceChangeStreamTransform::getResumeToken(Value ts, if (!uuid.missing()) resumeTokenData.uuid = uuid.getUuid(); - if (_fcv < ServerGlobalParams::FeatureCompatibility::Version::kFullyUpgradedTo42) { + // If 'needsMerge' is true, 'mergeByPBRT' is false, and FCV is less than 4.2, then we are + // running on a sharded cluster that is mid-upgrade, and so we generate v0 resume tokens. + // Otherwise, we always generate v1 resume tokens whether the FCV is 4.0 or 4.2. + if (pExpCtx->needsMerge && !pExpCtx->mergeByPBRT && + _fcv < ServerGlobalParams::FeatureCompatibility::Version::kFullyUpgradedTo42) { resumeTokenData.version = 0; } |