summaryrefslogtreecommitdiff
path: root/src/mongo/rpc
diff options
context:
space:
mode:
authorDianna Hohensee <dianna.hohensee@10gen.com>2018-01-12 09:14:04 -0500
committerDianna Hohensee <dianna.hohensee@10gen.com>2018-01-12 09:18:40 -0500
commit74dd4586e68b77838cf0c93a6697e0353a3c111a (patch)
treea108d7361671c2ee9ae902715400d0f43ae58893 /src/mongo/rpc
parent6e57c0d022c15828ab8c16a1229b355e30e734b6 (diff)
downloadmongo-74dd4586e68b77838cf0c93a6697e0353a3c111a.tar.gz
SERVER-32519 Add a new wire version for v3.8
Diffstat (limited to 'src/mongo/rpc')
-rw-r--r--src/mongo/rpc/protocol.cpp2
-rw-r--r--src/mongo/rpc/protocol_test.cpp10
2 files changed, 11 insertions, 1 deletions
diff --git a/src/mongo/rpc/protocol.cpp b/src/mongo/rpc/protocol.cpp
index ada7e8f2cee..fe0f9cebfcc 100644
--- a/src/mongo/rpc/protocol.cpp
+++ b/src/mongo/rpc/protocol.cpp
@@ -181,7 +181,7 @@ ProtocolSet computeProtocolSet(const WireVersionInfo version) {
result |= supports::kOpMsgOnly;
}
if (version.maxWireVersion >= WireVersion::FIND_COMMAND &&
- version.maxWireVersion <= WireVersion::SUPPORTS_OP_MSG) {
+ version.maxWireVersion <= WireVersion::REPLICA_SET_TRANSACTIONS) {
// Future versions may remove support for OP_COMMAND.
result |= supports::kOpCommandOnly;
}
diff --git a/src/mongo/rpc/protocol_test.cpp b/src/mongo/rpc/protocol_test.cpp
index f3f8ba51f97..1781d9fab2c 100644
--- a/src/mongo/rpc/protocol_test.cpp
+++ b/src/mongo/rpc/protocol_test.cpp
@@ -71,6 +71,16 @@ TEST(Protocol, FailedNegotiation) {
TEST(Protocol, parseProtocolSetFromIsMasterReply) {
{
+ // MongoDB 3.8
+ auto mongod38 =
+ BSON("maxWireVersion" << static_cast<int>(WireVersion::REPLICA_SET_TRANSACTIONS)
+ << "minWireVersion"
+ << static_cast<int>(WireVersion::RELEASE_2_4_AND_BEFORE));
+
+ ASSERT_EQ(assertGet(parseProtocolSetFromIsMasterReply(mongod38)).protocolSet,
+ supports::kAll);
+ }
+ {
// MongoDB 3.6
auto mongod36 =
BSON("maxWireVersion" << static_cast<int>(WireVersion::SUPPORTS_OP_MSG) //