3.6 Changelog

在本页面

3.6.19 Changelog

Sharding

  • SERVER-46487分散/聚集操作的 mongos 路由可能具有无限延迟

  • SERVER-47913拆分块中的分段消息和分布式锁获取

Replication

  • SERVER-45610系统正在恢复时,某些读取工作正常

  • SERVER-47695由可在回滚后幸存的线程运行的写命令可能会导致操作失败 ServiceEntryPoint 中的时间不变

Query

Storage

SERVER-46398在 macOS 上启动 mongod 时,建议使用显式 dbpath,但找不到默认 dbpath

Operations

SERVER-45295确保 LDAP 日志始终包含 AuthZN 操作的上下文

构建和包装

  • SERVER-42042使用工具链编译器和 tcmalloc 对动态构建提早发出警告或失败

  • SERVER-48640更新 RHEL 6.2 AMI 以进行软件包测试

  • SERVER-48659更新 SLES 12 AMI 以进行软件包测试

  • SERVER-48681更新 Debian 8.1 AMI 进行软件包测试

Internals

  • SERVER-45367当 Range Deleterawait 打开的游标时,请在日志中列出这些游标。

  • SERVER-45508 getFieldsWithStringBounds 中出现降级范围内的不变失败

  • SERVER-47256更新列出的 repo 包文件的维护者

  • SERVER-47686将静态 OpenSSL 升级到 1.1.1g

  • SERVER-47798 mongod 和 mongos 的审核 isMaster 响应验证

  • SERVER-48032将社区邮件列表的引用更新为 MongoDB 开发人员社区论坛

  • SERVER-48657使用常绿模块控制性能项目中的 signal 处理

  • SERVER-49142验证 RoleName :: parseFromBSON()中的正确字段名称

  • SERVER-49335 publish_packages 应该使用 Barque API 密钥

  • WT-5119胎记记录如果读取与检查点之间的竞争,则可以作为常规更新读取

  • WT-5150 LAS 扫描不会删除不再需要的条目

  • WT-5196启用 LAS 扫描后,测试/检查点的数据不匹配失败

  • WT-5376 WT_UPDATE.type 字段在返回键/值对时可以进行可见性检查

  • WT-5587限制后续检查点删除的检查点数

3.6.18 Changelog

Security

SERVER-46834在 UserCacheInvalidator 中使用单调时间

Sharding

  • SERVER-29153在 ShardingTest 初始化中执行写操作之前,请确保副本集节点同意哪个节点为主节点

  • SERVER-33597将 allow_partial_results.js,return_partial_shards_down.js 起始分片作为副本集

  • SERVER-44130 logical_time_metadata.js 中 assert.lte 参数的翻转 Sequences

  • SERVER-45770添加到日志文件中有关“ moveChunk.to”的信息

  • SERVER-46466与 findAndModify 可重试的写入和会话迁移竞赛

Replication

  • SERVER-35050不要因文档计数为负而中止集合克隆

  • SERVER-35437在 multi_rs.js 中执行降压命令后 await 二级状态

  • SERVER-45178通过 refetch 进行回滚可能会导致回滚成功发生,而无需更新回滚 ID。

Query

  • SERVER-32903字段名称错误错误,应在初始同步期间忽略

  • SERVER-45363使用通配符说明符时,mongodb 文本索引和权重存在问题

Aggregation

SERVER-45418 DocumentSourceCursor 批处理内存记帐不考虑空文档,导致无限制的内存用于类似计数的聚合

Storage

SERVER-45289条件跳转或移动取决于 validate_adaptor.cpp 中的未初始化值

Operations

  • SERVER-34199 serverStatus 的“ timing”部分可能会对 ftdc 保留产生重大影响

  • SERVER-46024在 FTDC 中收集/ proc/vmstat 交换统计信息

构建和包装

  • SERVER-45713在大型 rhel70 发行版上运行 rhel7 推送并发布任务

  • SERVER-45732更加积极地过滤来自 net-snmp-config 调用的标志

  • SERVER-46983上传重新构建软件包以更正 URL

  • SERVER-46996所有 push/publish_packages 任务应在小型主机上运行

Internals

  • 如果初始 replSetConfig 失败,则SERVER-30739 config_server_checks.js 应该 assert

  • SERVER-37148删除 mr_shard_version.js 和 mr_during_migrate.js 以支持 MR FSM 测试

  • SERVER-38119 Windows 转储文件命名不考虑目录名称中的点

  • SERVER-40047测试阻塞队列不应测试非保证条件

  • SERVER-40305将诊断日志记录添加到 max_time_ms.js

  • SERVER-42278记录 LDAP 连接构建期间产生的 SockAddrs,它们具有手动导出的大小

  • SERVER-42525单节点副本集不应在关闭期间 await 可选举的追赶次级副本

  • SERVER-43349 $ elemMatch $ not $ ne 的序列化不正确

  • SERVER-44325添加 polyfill 用于证书链验证

  • SERVER-44435允许基于 CA 有选择地启用 x509 授权

  • SERVER-44868 Initialsync logkeeper 和 logkeeper-short 测试应分别将快照 ID 和数据集链接传递给 dsi(sys-perf)

  • SERVER-45156 SockAddr 构造函数应使用 sockaddr,而不是 sockaddr_storage

  • SERVER-45472确保 RoleGraph 可以将身份验证限制序列化为 BSON

  • SERVER-45766从服务器 Yaml 中删除“ requires”

  • SERVER-45867使用最新版本的 signal 处理

  • SERVER-45935 [3.6] WT 错误处理程序错误地打印了“检测到不受支持的日志格式”

  • SERVER-46082将 bin/analysis.py 用于绩效项目

  • SERVER-46174 SSL_get0_verified_chain polyfill 中的免费对等证书

  • SERVER-46754使用新的 repobuilder 服务

  • 每次性能运行后SERVER-46766个拆解群集

  • SERVER-46899修复了 4.0 和 3.6 中的 tcmallocReleaseRate 参数

  • SERVER-47063将静态 OpenSSL 升级到 1.1.1e

  • SERVER-47232确保 Python ldap 库的可用性

3.6.17 Changelog

Replication

  • SERVER-34876 initial_sync_with_write_load.js 在读取操作日志之前需要 await 初始同步完成

  • SERVER-45396使用 splithorizon 修复 isMaster 响应中的“ me”字段

Query

SERVER-42565聚合和查找命令对丢失的字段进行不同的排序

Aggregation

  • SERVER-42756 $ multiply 运算符可能会返回错误,也可能会返回错误,具体取决于是否启用了管道优化

  • SERVER-43764为 DoubleDoubleSummation 中的特殊值添加更多测试

  • SERVER-44174 $ push 和$ addToSet 应该限制内存使用量

  • SERVER-44733如果无法将单个分片作为 updateLookup 的目标,则更改流应引发 ChangeStreamFatalError

  • SERVER-44869添加查询旋钮以控制$ push 和$ addToSet 的内存限制

Storage

SERVER-44796调整夜间启动警告,使其更具吸引力

构建和包装

  • SERVER-37772平台支持:添加社区和企业 RHEL 8 x64

  • SERVER-44641平台支持:从 3.6 中删除 Enterprise RHEL 7 zSeries 和 SLES 12 zSeries

Internals

  • SERVER-34844放宽对 apply_batches_totalMillis 的期望

  • SERVER-35099进一步提高 get_last_error.js 中的 wtimeout

  • SERVER-35382 _isSelf 命令需要标记为 requireAuth false

  • SERVER-38002将 Pcre 升级到至少 8.42

  • SERVER-39131重构存储引擎锁定文件支持

  • SERVER-42697通过 setParameter 公开 tcmalloc_release_rate

  • SERVER-43210 jstests/sharding/kill_sessions.js 不会 await 操作被终止。

  • SERVER-43246为由于逻辑会话清理而收起游标的时间添加一条日志行

  • SERVER-44568将服务器的时区数据文件的嵌入式版本更新为 tzdb-2019c

  • SERVER-44828更正逻辑,以便在将$ sort 吸收到查询层后重新计算依赖关系

  • SERVER-45104 [v3.6]修复 splash_to_disk.js

  • SERVER-45372没有多数票的黑名单版本关注 change_streams_update_lookup_shard_metadata_missing.js 的关注

  • WT-4636修复 syscall 测试中的 strace

  • WT-5042减少检查点的配置解析开销

  • WT-5120对帐未释放驱逐生成时,检查点挂起

  • WT-5135更改后备文件插入以使用 cursor.insert

  • WT-5218使用 WT_CACHE_EVICT_NOKEEP readgen 改进逐出以区分干净页面和脏页面

  • WT-5239修复有关元数据文件打开的系统调用失败

  • WT-5247确保仅记录幂等修改操作

  • WT-5277在后备文件中检测到光标键乱序

  • WT-5297 syscall.py 在 mongodb-4.0 上失败

3.6.16 Changelog

Security

SERVER-44320允许通过操作类型对分区分片命令进行授权

Sharding

SERVER-42914为均衡器实施随机块选择策略以用于并发_ * _ with_balancer 工作负载

Replication

  • SERVER-43193始终禁用次要文档验证

  • SERVER-44675 server_status_metrics.js 由于 serverStatus 中的 racy repl.buffer.countMetrics 而失败

Query

SERVER-44571升级后无法更新或删除 SERVER-44050 损坏方案中涉及的文档

Storage

SERVER-44584(3.6)由于修改错误地考虑了日志记录状态,因此重写了更新

构建和包装

Internals

3.6.15 Changelog

Security

Sharding

  • SERVER-10456获取用于查找要克隆的文档的游标逻辑(在迁移中)与 removeRange 中的逻辑不同

  • SERVER-34760 _configsvrShardCollection 的重试可能不会将 setShardVersion 发送到主分片

  • SERVER-36159当闲聊的配置服务器 opTime 术语发生更改时记录

  • SERVER-36222调用 shard_identity_rollback.js 中的 ReplSetTest.restart 很正常

  • SERVER-36315降级后,CSRS dist 锁定 Management 器不断尝试解锁锁定

  • SERVER-38205针对巨型块情况优化 splitVector

  • SERVER-42783如果没有传输模块,迁移将不 await 克隆文档的多数复制

  • SERVER-42793自动拆分尺寸跟踪器的随机初始值太低

  • 3.6 中 sharding_last_stable 套件中的SERVER-44182 major_version_check.js 黑名单

Replication

  • SERVER-37846如果提交了写入,仲裁员可以满足 writeConcern

  • SERVER-38685如果使用内存中 SE 且 writeConcernMajorityJournalDefault 为 true,则会发出启动警告

  • SERVER-38994退出 SIGTERM

  • SERVER-39310在 getMores 中检查 canServeReadsFor

  • SERVER-40335不要 awaitReplSetTest.stopSet()中的选举交接

  • 包含_id 大于节点数的SERVER-40355 rs.config 将崩溃

  • SERVER-42155表示 readConcern 超时时术语不匹配

  • SERVER-43109在 do_not_advance_commit_point_beyond_last_applied_term.js 中的 awaitReplication 中明确声明节点

  • SERVER-43673来自 3.6 版的 backup_restore.js 的黑名单 toggle_feature_compatibility.js

  • SERVER-43708await 节点在 last_vote.js 和 slave_delay_clean_shutdown.js 中成为辅助节点

Query

  • SERVER-39019 $ elemMatch $ ne 序列化不正确,不会往返

  • SERVER-40382添加 serverStatusMetrics 以报告计划缓存内存消耗

  • SERVER-41863使用 sleep 命令在返回之前检查服务器时钟是否已提前

  • SERVER-43074写出目录文档时,请勿使用全局变量对“ multikeyPath”信息进行编码

  • SERVER-43699查找$ mod 可导致 UB

Aggregation

SERVER-43034 DoubleDoubleSummation 中的特殊值处理不一致

Storage

  • SERVER-42441 namedCollectionForApplyOps 应该始终重命名目标(如果存在)

  • SERVER-42652解决重命名集合的问题

  • SERVER-43908修改 IndexConsistency 哈希 Map 键,以避免在 KeyString 形式的重复索引键中为不同索引击中不变式

  • SERVER-44188 [4.0] validate_tests 应该通过从光标获得的 RecordId 删除索引条目

WiredTiger

  • 从 3.6.5 升级SERVER-35271 4.0 rc0 会记录“不受支持的 WiredTiger 文件版本”错误

  • SERVER-39004介绍溢出文件的配额机制

  • SERVER-40575在 MongoDB 4.0 异常关闭时启动 MongoDB 3.6 时改进错误消息

Operations

  • SERVER-28604记录超过临时超时的光标

  • SERVER-40537将 TooManyLogicalSessions 的错误代码 261 登录到 mongodb.log

  • SERVER-42257添加新的 Shell 启动横幅

  • SERVER-43081验证应报告何时设置了索引的“ multikeyPaths”,但“ multikey”标志为 false

  • SERVER-43350尝试加入集合时(使用管道进行$查找),服务器崩溃。

构建和包装

SERVER-42911通过 building.md 重建 mongodb,但由于 ModuleNotFoundError 而无法构建:Windows 上无模块带有 MSVC 的名为“ Cheetah”的模块

Internals

  • SERVER-25025 WiredTiger 上有成千上万的集合/索引时,可以缩短启动时间

  • SERVER-42075将 DSI 模块添加到 perf.yml

  • SERVER-42178禁用 SLES 上的 Split Horizon HOSTALIAS 测试

  • SERVER-42706无会话或事务表的辅助测试种子

  • SERVER-42866在运行测试之前,触发 ShardedCluster 测试夹具中所有分片的逻辑会话缓存刷新

  • SERVER-42953 ttl_repl_secondary_disabled.js 应该阻止选举

  • SERVER-43151 value.cpp 上的聚合 assert 错误:1368

  • SERVER-43240将 DSI 和 mongo-perf 模块添加到 v4.0 mongo 中的 MMAP 构建变体

  • SERVER-43634报告不同的错误,以丢失 scons 并无法导入 scons

  • SERVER-43922 ldap_authz_lib.js 在 3.6 上使用 runNonMongoProgram

  • SERVER-44064对 MessageCompressorManager 参数执行显式转换

  • SERVER-44183无法在 asio 套接字上监听应该是致命的

  • SERVER-44184在 v3.6 上消除解析地址的重复

  • SERVER-44312在性能测试中指定常绿认证,以进行 signal 处理

  • WT-4869赶不上时停止增加缓存压力

  • WT-4881放宽重新 Importing 对帐的限制

  • WT-4893修复内部页面子页面逐出检查与树中游标之间的竞争

  • WT-4898如果忙碌的驱逐服务器无法调和,

  • WT-4956处理对页面进行 40 亿次更新而不驱逐的情况

  • WT-4957恢复部分有关何时将页面排入紧急驱逐的更改

  • WT-5050紧急收回元数据页面时 assert 失败

3.6.14 Changelog

Security

Sharding

  • 当拥有它的分片捐赠一个块时,可以清除该块中的SERVER-26531 jumbo 标志

  • SERVER-36394 mongos 应该在 autosplit = false 或 splitvector 返回的分割点太少时重置块大小跟踪信息

  • SERVER-36443长时间运行的查询不应导致未使用的 ChunkManager 对象的累积

  • SERVER-36469 shard_kill_and_pooling 不会查询它应该要查询的分片

  • SERVER-41859 logical_time_metadata.js 不应假定 lastApplied opTime 等于$ clusterTime

  • SERVER-41867 CatalogCache :: _ scheduleDatabaseRefresh/_scheduleCollectionRefresh 可以尝试获取已拥有的_mutex

  • SERVER-41869 CatalogCache :: _ scheduleCollectionRefresh 中的 Mutex 获取 Sequences 相反

  • SERVER-42793自动拆分尺寸跟踪器的随机初始值太低

Replication

  • SERVER-38659 IsMasterIsFalseDuringStepdown 单元测试中的竞赛条件

  • SERVER-40336 ReplicationCoordinatorImpl :: __ random 对于同时启动副本集成员而言并不健壮

  • SERVER-41036设置 ReadWriteAbility :: _ canAcceptNonLocalWrites AtomicWord<bool>以防止读取被破坏。

  • SERVER-42055仅获取集合 IX 锁以写入 lastVote 文档

Query

  • 当唯一路径为多键时,针对视图的SERVER-40134唯一命令可能返回错误结果

  • SERVER-41065通过传递“变量”作为参数来使 agg 评估()线程安全

  • SERVER-41829 findAndModify 忽略不是对象的过滤器表达式

Storage

WiredTiger

  • SERVER-41913避免对记录的集合进行就地修改操作

Operations

SERVER-36099适用于 mongos 的 FTDC 对于大型安装来说太大了

构建和包装

  • SERVER-36043 mongod 的 systemd 单位在多用户目标之前启动

  • SERVER-40563我们的初始化脚本检查/ proc/[pid]/stat 应该验证(${})是进程的命令名。

  • 如果使用错误的 Python 解释器调用SERVER-41424 scons,应尽早失败

  • SERVER-41443更新企业许可证

  • SERVER-41743更新 3.6 的 MSI 包含项

  • SERVER-42089平台支持:从 3.4 和 3.6 删除 Enterprise RHEL 6.7 zSeries

  • SERVER-42109将 Ubuntu 14.04 添加到 v3.6

  • SERVER-42233凸显 Windows 软件包的依赖性

  • SERVER-42603最近的服务文件更改可能会导致循环依赖性

Internals

  • SERVER-26626在 external_auth_WT JSTests 中,确保 Saslauthd 已完全启动,然后再 continue 测试

  • SERVER-35067可重试的黑名单 explain2.js 编写了 jscore 降级套件

  • SERVER-37984升级 yaml-cpp> = 0.6.0

  • SERVER-38141 MONGO_CONFIG_HAS_SSL_SET_ECDH_AUTO 的使用不正确会阻止启用椭圆曲线自动协商

  • SERVER-39642范围连接未返回到池时递减 Export 计数器

  • SERVER-40156水平分割的初始实施

  • SERVER-40643使用水平分割添加 replSetConfig 和 replSetInitiate 的测试

  • SERVER-40645为水平分割的 SNI/TLS 行为添加测试

  • SERVER-40923从“运行 jstestfuzz”常绿功能中删除 npm 测试命令

  • SERVER-40924将 Evergreen 任务添加到健全性检查模糊器可以解析 JavaScript 测试

  • SERVER-41004 killSessions 命令可以返回 CursorNotFound 错误以成功杀死

  • SERVER-41016计算增量以更新大型文档

  • SERVER-41075从操作上下文包含路径中删除“ mongo/repl/replication_coordinator.h”

  • SERVER-41148 FTDC 正在调用 boost :: filesystem 而不传递 error_code 参数

  • SERVER-41184添加 Metrics 以指示仅在查询中使用_id 完成的分片更新量

  • SERVER-41349添加日志语句以降低 DNS 解析速度

  • SERVER-41401 patch_files.txt 不能区分企业文件和社区文件

  • SERVER-41442修复 umask.js 中的第二场 match

  • SERVER-41546 SysV 初始化脚本应验证 PIDfile 存在而不是失败

  • SERVER-41624修复了 v3.6 中的旧版传输问题

  • SERVER-41680将${branch_name}进行常绿扩展以调用模糊器

  • SERVER-41753修复 indexc.js,使其不依赖于时钟总是向前移动

  • SERVER-41789 sys-perf:在 bootstrap.yml 配置文件中使用 bootstrap.overrides

  • SERVER-41833更新自述文件许可证文本

  • SERVER-41967将符号链接/数据链接到 Z 而不是 C

  • SERVER-42178禁用 SLES 上的 Split Horizon HOSTALIAS 测试

  • SERVER-42228 LoggerRuntimeConfigError 异常可能导致后台 dbhash 线程运行,直到 Evergreen 任务超时

  • WT-4352在更多情况下解决驱逐期间的胎记

  • WT-4421添加一种计算修改操作的方法

  • 降级WT-4693 WT_CONNECTION :: reconfigure 不需要静止

  • WT-4706添加统计信息以跟踪后备表的大小

  • WT-4750扫描可以在关闭并重新打开文件后删除活动的后备记录

  • WT-4759丢弃旧的溢出值时保存副本

  • WT-4768数据不一致,先驱后撤,然后进行扫描

  • WT-4769不要丢弃空白页的活动历史记录

  • WT-4776修改操作应等同于更新

  • WT-4794标记后备历史记录已在所有路径中解决

  • WT-4803为缓存溢出机制实现 file_max 配置

  • WT-4823添加未初始化后备资源的检查

  • WT-4848计算差异时修复性能回归

3.6.13 Changelog

Security

Sharding

  • SERVER-36004 SessionUpdateTracker 应该忽略前/后映像操作日志的无操作条目

  • SERVER-36457 mongos_rs_shard_failure_tolerance.js 测试应 assertmovePrimary 命令成功

  • SERVER-39420删除内存中的布尔值以指示 config.server.sessions 集合已设置

  • SERVER-40136降级后,后台密钥生成器可以在 FCV 升级时保持禁用状态

Replication

  • SERVER-35636重命名 applyOps 的集合需要检查目标名称空间的完整性

  • SERVER-37065在学习新术语后立即在 isMaster 命令响应中报告 ismaster:false

  • SERVER-39831如果从同步源获悉,则永远不要更新提交点,使其超过上次应用的提交点

  • SERVER-40628在 replsetprio1.js 设置下初始同步可能会失败

  • SERVER-40788改进复制追赶方面的日志记录

  • SERVER-40977 mmapv1 和 ephemeralForTest 变体应排除带有 require_majority_read_concern 标记的测试

  • SERVER-41081 do_not_advance_commit_point_beyond_last_applied_term.js 必须 await 节点 E 到达 stopReplProducerOnDocument 故障点

  • SERVER-41247 do_not_advance_commit_point_beyond_last_applied_term.js 不得与定期的 noop 编写器一起运行

  • SERVER-41342 read_committed_stale_history.js 必须执行连续写入以确保多数提交点传播到辅助节点

Storage

  • SERVER-16571使用实际内存限制与总系统内存时的差异

  • SERVER-30356改进错误报告以进行验证

  • SERVER-41213独特的后台索引构建可能会产生不一致的密钥

Operations

  • SERVER-39820将 Client 端 IP 地址添加到成功的身份验证日志消息中

  • SERVER-40866使用 JSON.stringify()将字符串序列化为 tojson()

构建和包装

Internals

  • SERVER-37382 printShardingStatus.js 与 ShardingUptimeReporter 线程竞赛

  • SERVER-38984为用户附加 ID

  • SERVER-39746系统性能:在 runtime.yml 中编写项目

  • SERVER-40052 mongos 中的关闭会触发 BatchWriteOp 不变

  • SERVER-40165使用精确的时钟生成 wtimeout 截止日期

  • SERVER-40514 BufferedHandler.close()和 BufferedHandler.flush()之间的竞争导致 resmoke.py 与–log = buildlogger 挂起

  • SERVER-40922添加 npm install 命令以“运行 jstestfuzz”常绿功能

  • SERVER-40932增加超时以关闭 ServiceExecutor

  • SERVER-41088将“常绿”订单字段传播给 Cedar 以获取系统性能

  • SERVER-41103修复模糊器任务调用

  • SERVER-41169大多数 Linux 的 Powercycle 测试已从 Evergreen 中删除

  • TOOLS-2068 mongodump oplog 延迟

3.6.12 Changelog

Sharding

  • SERVER-35219通过会话恢复 MongoDB 平衡器性能

  • SERVER-39847当目标分片的事务历史记录被 oplog 截断时,迁移会话信息会触发 fassert

  • SERVER-39932 SessionRuntimeInfo 内存未释放

Replication

  • SERVER-37255 replSetReconfig 与并发选择可以触发不变量

  • SERVER-38722 CollectionCloner 应该在集合放置时处理 QueryPlanKilled

  • SERVER-39490 opWriteConcernCounters 可能由于溢出而导致未定义的行为

  • SERVER-39641读取的黑名单 max_time_ms.js 涉及线性化的直通

  • SERVER-39758 double_rollback.js 应该可靠地 await 节点 0 完成回滚

  • SERVER-40039在 initial_sync_invalid_index_spec.js 中增加 assert.soon 超时

Query

SERVER-38764外部排序器应使用 64 位整数作为文件偏移量

Aggregation

  • SERVER-39394视图归类检查应遍历嵌套的$ lookup 管道

  • SERVER-39487 NumberDecimal 的聚合运算符$ sqrt 输出与$ exp 相同

Storage

  • SERVER-17010减少基于文件的排序器中文件句柄的使用

  • SERVER-39773减少 rollback_wt_cache_full.js 中的更新数量

Operations

  • SERVER-37722安静模式不会抑制连接结束事件

  • SERVER-40131 Windows stacktrace 生成器中的格式字符串不正确。

  • SERVER-40259包含有关 ASIO 和变体的第三方通知

构建和包装

SERVER-36622较新的 Ubuntu 的软件包测试失败

Tools

TOOLS-2229 Mongofiles 在使用现有的_id 放置 put_id 失败时会删除现有文件的块

Internals

  • SERVER-36231 Mongos 写入路径未查找可重试的写入关注错误

  • SERVER-36437 dbstats 命令应将数据库锁定为 MODE_IS 而不是 MODE_S

  • 内存变体中 ppc64le 上的SERVER-36750黑名单 memory.js

  • SERVER-37620提高看门狗测试的可靠性

  • SERVER-38644防止临时文件在 umask 测试期间消失

  • SERVER-38697通过 PID 关闭 Powercycle 可能会尝试杀死错误的进程

  • SERVER-38789在 Windows ssl_alert_reporting.js 中接受连接失败

  • SERVER-39056进一步完善 readWriteAnyDatabase

  • SERVER-39058与 Client 端同步 AuthorizationSession 中的用户集修改

  • SERVER-39822提高 watchdog_test.exe 测试的可靠性

  • SERVER-40063 jstestfuzz_sharded_continuous_stepdown.yml 在 3.6 分支上以 1 节点 CSRS 运行

  • SERVER-40076标记 JavaScript 测试以及无法在 Atlas 中运行的原因

  • WT-4324确保检查点将来会用数据重写页面

  • WT-4615在返回备份光标之前同步备份文件

3.6.11 Changelog

Security

SERVER-36606删除 BSON 审核事件的大小限制

Sharding

  • SERVER-9043链接配置服务器和分片上的 flushRouterConfig

  • SERVER-31156 Admin 命令,仅更新一个集合的块元数据

  • SERVER-36863 query_config.js 假定 config.mongos 始终存在

  • SERVER-36901 sh.status()“上次报告的错误:”实际上是第 5 条最新错误消息

  • SERVER-37339在完全初始化分片组件之前,将分片状态设置为在 Grid 上初始化

  • SERVER-37624当您更改 localLogicalSessionTimeoutMinutes 的值时,会话永不过期

  • SERVER-38192从 refreshLogicalSessionCacheNow 忽略重复键错误

  • SERVER-38344在初始收集分片期间提前释放分布式数据库锁会导致迁移/拆分失败

  • SERVER-38387 agg_out.js 并发工作负载始终无法分片输出集合

  • sharding_last_stable_mongos_and_mixed_shards 套件中的SERVER-38784黑名单 verify_sessions_expiration_sharded.js。

  • SERVER-39030 splitVector 记录的错误信息

Replication

  • SERVER-32146记录操作日志 Importing 缓慢

  • SERVER-35608来自 lastAppliedOptime 的该术语永远不会大于我们当前的术语

  • SERVER-37274命令_that_accept_wc 测试可以将第二优先级赋予零

  • SERVER-37910创建新的 serverStatus 度量标准,以应用于在批次边界上增加的辅助节点上应用的操作数

  • SERVER-37915复制不会更新辅助节点上的 opsCounterRepl 命令

  • SERVER-38200修复./jstests/replsets/initial_sync_oplog_hole.js,以防止在测试中使用过时的心跳信息。

  • SERVER-38647 backup_restore_rolling.js 可能由于降级而失败

  • SERVER-38998为 readConcern 和 writeConcern 创建 serverStatusMetrics

  • SERVER-39142 ServerWriteConcernMetrics 必须在修改成员之前锁定_mutex

  • SERVER-39267将 opWriteConcernCounters 保护在标志后面

  • SERVER-39286 server_write_concern_metrics.js 必须使用 require_journaling 标签

Query

  • SERVER-38275不带名称空间的句柄说明

  • SERVER-39472向 backport 更改为 apply_ops_concurrent_non_atomic.js,以解决 3.6 和 4.0 中的 HMAC 密钥插入问题。

Aggregation

  • SERVER-31098 system.profile 中的 ns 错误,无法进行聚合查询

  • SERVER-39109 mongod 崩溃:不变失败!_exec src/mongo/db/pipeline/document_source_cursor.cpp 295

  • SERVER-39166 $ graphLookup 应该强制管道在分片群集中拆分

  • SERVER-39322 Backport timelib 修复了使用静态缓冲区的错误 snprintf 调用

Storage

  • SERVER-35732连字符数据库名称不适用于 dbStats.fsUsedSize/TotalSize

  • SERVER-38779构建机制以定期从会话缓存中清除旧的 WT 会话

  • SERVER-38801处理可查询的 listDirectory 调用中的大 BSON 斑点。

Operations

SERVER-37155改进 LDAP 服务器日志记录

构建和包装

  • SERVER-33958使用精简存档时,–cache = nolinked 模式应将精简存档推入缓存

  • SERVER-38416将静态 OpenSSL 升级到 1.1.1a

  • SERVER-39483剥离的二进制文件和.debug 文件不应缓存

Tools

Internals

  • SERVER-31755将$ lookup 中间文档的大小提高到 100MB,并使其可配置

  • SERVER-35620下载文件的完整性:使用 shasum 代替 python 脚本

  • SERVER-38748通过 applyOps 创建的后台索引应在命令线程上运行

  • SERVER-38954在预计达到时限的 max_time_ms.js 中增加测试用例的查询执行时间

  • SERVER-39009使 Bulldlogger 凭据位置可通过环境变量配置

  • SERVER-39031将 SCons 设置为默认值-作业数为 CPU

  • SERVER-39331从 network_interface_asio_integration_test 中删除 StressTest

  • TOOLS-1906忽略 mongorestore 错误“ x509 证书例程:X509_STORE_add_cert:证书已在哈希表中”

  • TOOLS-2158 mongodump 在 Windows 上失败,并显示“打开系统 CA 存储错误:拒绝访问”。

  • TOOLS-2167添加用于在 Windows 上构建的 CGO 标志

  • TOOLS-2168添加用于在 MacOS 上构建的 CGO 标志

  • TOOLS-2210使用启用了地址空间布局随机(ASLR)标志的工具进行构建

  • WT-4483将小更新更新为大值的缓存

3.6.10 Changelog

Security

  • 未指定 authSource 时,SERVER-35212 URI 连接不默认为 Management 数据库

  • SERVER-37687绑定失败时捕获 libldap ErrorString

Sharding

  • SERVER-36965确保将 setUp 写入 safe_secondary_reads_single_migration_suspend_range_deletion.js 的内容传播到分片辅助数据库

  • SERVER-37051 ShardServerCatalogCacheLoader 从任务队列读取后不检查内部术语

  • SERVER-37080实现可调整的批量大小以进行块迁移

  • SERVER-37511逻辑会话收割者和刷新线程应立即设置会话集合

  • SERVER-37616为测距仪实现可调整的批量大小

  • SERVER-37902 recoverying_slaveok.js 应该 assert 所有使成功的写入

  • SERVER-37932删除 coll_epoch_test1.js 的错误部分,该部分尝试测试不起作用的内容,但是由于测试中的错误,测试通过了

  • SERVER-38050删除循环后,范围删除器无法验证它是否仍在同一集合上运行

  • SERVER-38062将 assert.commandWorked()添加到 read_pref_cmd.js 中的命令

  • SERVER-38196覆盖率分析缺陷 105128:未检查的返回值

  • SERVER-38371如果另一个先前的会话遇到新事务,则会话目录迁移将跳过后面的会话

Replication

  • SERVER-37500黑名单 geo_s2 从 copy_sets_kill_primary_jscore_passthrough 套件中排序

  • SERVER-37557添加有关 enableMajorityReadConcern 和仲裁程序使用的启动警告

  • SERVER-37935删除更改流测试套件中的已读关注“多数”替代

  • SERVER-38024 initial_sync_oplog_hole 测试应标记为需要锁定文档

  • SERVER-38476再次增加 clean_shutdown_oplog_state.js 的超时

Query

  • SERVER-35455 QueryPlannerAccess 应该通过 unique_ptr 而不是原始指针保存拥有的指针

  • SERVER-37385更改 max_time_ms.js 以容忍“中断”错误代码

  • SERVER-38070聚合表达式中的无限循环

  • SERVER-38164 $或下推式优化无法正确处理$ elemMatch 中的$ not

  • SERVER-38601为规划期间的内存泄漏添加回归测试

Aggregation

  • SERVER-37182引用整个对象与$ arrayToObject 之后的该对象的字段时的值不同

  • SERVER-37200 $ listSessions 对 mongos 不起作用后的$ match 阶段

  • SERVER-37750优化的$ sample 阶段无法产生

  • SERVER-38843 Mapreduce 不应创建具有重复 ID 的集合

JavaScript

  • JavaScript 使用的SERVER-31508 native_sleep 应该是可中断的

  • SERVER-35061 Java 睡眠在被中断时应始终发出错误

Storage

  • SERVER-29825不允许从未复制的数据库重命名为复制的数据库,反之亦然

  • SERVER-36873 ReplicationCoordinatorExternalStateImpl :: shutdown()不得在 await_taskExecutor 时保留_threadMutex

  • SERVER-36968在检查 AuthZN 索引存在之前重建中断的索引

  • SERVER-37408将 afterClusterTime 添加到初始同步收集扫描

  • SERVER-37524具有存储看门狗的内存中存储引擎使服务器崩溃

  • SERVER-37862减少 initial_sync_wt_cache_full.js 中的更新操作

  • SERVER-37930为嵌套的 applyOps 中的 createIndexes 添加测试覆盖率

  • SERVER-37931 lock_stats_suboperation_logs.js 应该忽略噪声锁定统计信息

  • SERVER-38434 queryableBackupMode 和 wiredTigerEngineConfigString 标志不兼容

  • SERVER-38498减少 rollback_wt_cache_full.js 中的更新数量

Operations

  • SERVER-33469使 syslog 日志行与 mongod 日志行一致

  • SERVER-35485 Mongo Shell 不接受压缩机连接字符串参数

  • SERVER-36977使用 umask vs 模式 600 创建初始 mongod.log

构建和包装

Tools

  • TOOLS-1709使用-ldflags 设置构建版本和 git 修订版

  • TOOLS-2149在 Evergreen 外部配置构建

Internals

  • SERVER-32424使用 WiredTiger 游标缓存

  • SERVER-34770重试降级套件中的 JavaScript 执行中断

  • SERVER-35768 gssapiServiceName URL 参数不起作用

  • SERVER-36060使单元测试完全基于 clang-6

  • 如果服务器已经是主服务器,则由降压线程运行的SERVER-36817 replSetFreeze 命令可能会失败

  • SERVER-37120关闭 3.4 和 3.6 分支的 linux-replSet-initialsync-logkeeper 构建版本

  • SERVER-37241添加测试以验证会话集合中的会话是否正确到期

  • SERVER-37289使用经过身份验证的 Client 端在重新分片的集群夹具中运行 refreshLogicalSessionCacheNow 命令

  • SERVER-37391 plan_cache_index_create.js 应该 await 索引构建开始,而不仅仅是 createIndexes 命令开始

  • SERVER-37490增加 Powercycle 的 ConnectTimeout

  • SERVER-37562在 SessionsCollectionRS 中将所有 IX 锁减少为 IS 锁

  • SERVER-37678更新 linter 以在头文件中实施 SSPL

  • SERVER-37913 coll_epoch_test1.js 在删除集合后不 await 配置服务器复制。

  • SERVER-37916在 TLS 版本协商中将旧式传输层套接字记录为主机名

  • SERVER-38055通过 Shell 启动的 Mongod 服务器不遵守 TestData.enableMajorityReadConcern

  • SERVER-38159对 mmapv1 的黑名单 umask 不通过测试

  • 使用终止的 StringDatas 时SERVER-38178 data_builder.h 中的缓冲区溢出

  • SERVER-38230将 secondary_reads_passthrough 任务放入正确的构建变体中

  • SERVER-38303暂时处理由于未启用 ipv6 的 s390x 计算机导致的 ipv6 故障

  • SERVER-38390将某些命令的 requireAuth 设置为 false

  • SERVER-38415 checkLog.containsWithCount 不会在 assert.soon 的每个循环之前重置计数

  • SERVER-38616 LDAPArrayIterator 用空数组初始化时,行为不正确

  • TOOLS-1566对于 Linux 64 构建,不应包含“ ssl”标记

  • TOOLS-1742 util 和 testutil 之间的导入周期

  • TOOLS-1996允许从普通的 GOPATH 内部构建工具

  • TOOLS-2099工具 jstests 在副本集关闭时失败

  • TOOLS-2155在 Evergreen 和 Server Evergreen 中通过 ldflags 设置版本/ git-commit

  • TOOLS-2157更新服务器供应商

  • WT-4333 WiredTiger 游标缓存无法处理所有可能的锁定句柄状态

  • WT-4340游标缓存层可能会错误地释放太多的句柄锁

  • WT-4343休眠时解锁,以允许其他日志线程取得进展

  • WT-4411为当前缓存的游标总数添加了连接统计信息

  • WT-4418不要保留为缓存的游标分配的键/值存储缓冲区

  • WT-4438使用更准确的统计信息获取游标缓存总数

3.6.9 Changelog

Security

Sharding

  • SERVER-29160分片通常使用 15 秒的写入关注超时,这些超时在与迁移相关的操作中超时并导致 BF

  • SERVER-31563重新评估 not_allowed_on_sharded_collection_cmd.js 测试

  • SERVER-31892具有 waitForDelete 的 moveChunk 不 await 多数写问题

  • SERVER-35222会话清理过期时配置服务器崩溃

  • SERVER-35238在 mongos_manual_intervention_actions.js 中删除 mapReduce 的部分编写的块后,删除集合

  • SERVER-35763 lastWriteDate 字段在迁移期间可能会在副本集节点之间不同步

  • SERVER-36831 mongos 上的 LogicalSessionCache 无法正确报告活动操作

  • SERVER-36850添加复制直通套件以检测 LogicalSessionsCache 中的错误

  • SERVER-37330添加分片的直通套件以检测 LogicalSessionCache 中的错误

  • SERVER-37430在 mongod 关闭时销毁了 PeriodicRunner 之后,销毁了分片任务执行程序和 AsyncRequestSenders

  • SERVER-37496进程为多线程后,平衡器不应注册关闭任务

  • SERVER-37631如果 FCV 为 3.4,请禁用逻辑会话

  • SERVER-37657如果批次包含不增加的 Transaction 编号,请报告有问题的操作日志条目

  • SERVER-37735 [3.6]确保 ShardingTaskExecutor 发送的命令中包含完整的逻辑会话 ID

Replication

  • SERVER-20845将 replSetReconfig 重新添加到审核套件

  • SERVER-25175 listIndexes 不应包含进行中的背景索引

  • SERVER-33383 replSetStepDown 的执行可以通过心跳响应以无条件的降级运行

  • SERVER-34362 ReplicaSetCoordinatorExternalStateImpl :: __ dropAllTempCollections()需要记录失败的数据库。

  • SERVER-34868具有“排气”选项的光标不会返回插入到同一 txn 中的文档

  • SERVER-35239 AwaitData 游标必须处理来自 lastKnownCommittedOpTime 较高的 Client 端的 getMore

  • SERVER-36503在选举交接过程中跳过空投选举

  • SERVER-36694在 PV0 中时请勿交出选举

  • SERVER-36746失败的降级尝试不应无条件地将 LeaderMode 重置为 kMaster

  • SERVER-36978 TaskRunner 必须确保 Client 端在运行任务之前已初始化为线程

  • SERVER-37118覆盖率分析缺陷 105000:参数 Sequences 错误

  • SERVER-37147sessions_collection_auto_healing.js 应该使用 2 个节点副本集

  • SERVER-37152增加预期在 tags.js 中成功写入的写入关注超时

  • SERVER-37227重新引入 enableMajorityReadConcern:错误的服务器参数

  • SERVER-37396使 rollback_auth.js 更强大

Query

  • SERVER-13946考虑将跳过阶段置于获取阶段之下

  • SERVER-32943后台索引构建期间的查询可能导致缓存计划不理想

  • SERVER-36435在 awaitdata_getmore_cmd.js 中增加 maxTimeMS 超时

  • SERVER-36944 applyOps 在创建 v:1 索引时不允许未知的字段名称

  • SERVER-36951 applyOps 应该与没有 UUID 的 createIndexes 命令一起使用

  • SERVER-37058使用数组中的数字字段名称更新可能导致验证失败

  • SERVER-37132使用正则表达式否定$ in 可能会从缓存中错误地进行计划,从而导致查询结果丢失

Aggregation

SERVER-36993 mongod 崩溃:索引不变错误或 src/mongo/db/query/index_tag.cpp 237

JavaScript

SERVER-37126为所有外部 implscope 方法安全调用 run

Storage

  • SERVER-26854子操作的 LockStats 不应包括以前的子操作的时间

  • SERVER-34713逐渐降低 dropdatabase 性能

  • SERVER-34866 secondary_reads_passthrough 套件中的黑名单/非黑名单测试

  • SERVER-35657当操作正在 await 操作日志可见性时,请勿延迟日志刷新

  • SERVER-36879针对回滚期间卡住的缓存问题编写回归测试

  • SERVER-36961 createIndexes 命令应检查弱锁是否已存在索引

  • SERVER-36969 initial_sync_wt_cache_full.js 在慢速主机上花费的时间太长

  • SERVER-37313 FTDC 收集在辅助索引上的前景索引构建期间被阻止

  • SERVER-37618捕获 lock_stats_suboperation_logs.js 中的所有日志

  • SERVER-37749 replSetResizeOplog 命令不验证参数

Operations

  • SERVER-32064来自 mongo shell 的所有命令请求中均应包含逻辑会话 ID

  • 如果服务器不支持逻辑会话,则SERVER-33606 mongo shell startSession()应该失败

  • SERVER-34864字符串值字段不应参与 ftdc 中的模式更改检测

构建和包装

Tools

  • SERVER-30997 mongo cli –密码被屏蔽,但在使用 mongodb://连接字符串时不会被屏蔽

  • TOOLS-2102 Mongorestore 不检查解码 oplog.bson 文件的错误

Internals

  • SERVER-18985 setParameter 应该记录在 0 级

  • SERVER-31570调整 mongobridge 端口分配以简化调试

  • SERVER-32369错误不正确,消息将其参数字符串化

  • 如果集合不存在,SERVER-33077 checkReplicatedDataHashes 应该提供更多信息

  • SERVER-33470在 hook_test_archival.py 中记录归档消息(即使成功)

  • SERVER-34248调查为什么 function_string_representation.js 开始失败

  • SERVER-34755关闭 backup_restore.js 时忽略丢失的集合

  • SERVER-34916将 retryable_writes_jscore_stepdown_passthrough 中的 core/shell_connection_strings.js 列入黑名单

  • SERVER-34986免于 maxConns 的 CIDR 块

  • SERVER-35233 Powercycle 远程收集验证不会跳过视图

  • SERVER-35235 plan_cache_index_create.js 应该在前台构建初始索引集

  • SERVER-35570提高了 drop_restore.js 在删除测试数据库方面的稳定性

  • SERVER-35800 resmoke.py 应该重试从 Logkeeper 中获取 build_id 和 test_id

  • SERVER-35818提供 stdx :: variant

  • SERVER-36162 Powercycle-确保已在远程主机上执行了内部崩溃命令

  • SERVER-36250添加对可选记录特定的协商 TLS 版本的支持

  • SERVER-36301在 RHEL 6.7 s390x 上使用 HAVE_NO_CRC32_HARDWARE 构建 WT

  • SERVER-36451带有终止节点的 ContinuousStepdown 可能由于无法启动主节点而挂起

  • SERVER-36721 list_local_sessions.js 无法与 refreshLogicalSessionCacheNow 同时运行

  • SERVER-36732await 所有次要成员在选举移交 jstest 中启动并可以选举

  • SERVER-36747将少量时间延迟添加到“ jstests/ssl/ssl_client_certificate_warning_suppression.js”

  • SERVER-36756当模糊测试器的自检失败时,记录 10gen/jstestfuzz 存储库的 githash

  • SERVER-36783在 rhel62-large 上运行 enterprise-rhel-62-64-bit-inmem 的 secondary_reads_passthrough 任务

  • SERVER-36842 Powercycle 主机不变故障后未生成核心转储

  • SERVER-36919添加服务器 setParameter tlsWithholdClientCertificate(布尔)

  • SERVER-36964防止 SessionsCollectionRS 中的辅助对象尝试构建会话集合。

  • SERVER-36986 list_local_sessions.js 期望与 LogicalSessionsCache 刷新并发运行时不存在的会话存在

  • SERVER-36987 ChunkVersion :: minorVersion 截断为 16 位

  • 与 LogicalSessionCache 刷新套件同时运行时,SERVER-36988 awaitdata_getmore_cmd.js 超时

  • SERVER-37041更新旧分支上的评估黑名单,以解决分支之间测试的差异

  • SERVER-37064将“ mongod_flags”包装到多行以提高可读性

  • SERVER-37130将 TLS 版本添加到 mongos

  • SERVER-37149删除 ScheduleBeforeStartupTest 中的死锁

  • SERVER-37353妥善处理 LLONG_MIN 的$ slice 值

  • SERVER-37393修复 ReplicaSetMonitorManager 中的析构函数竞争

  • SERVER-37410添加独立的传递套件以检测 LogicalSessionCache 中的错误

  • SERVER-37424 Sys-perf:将 v4.0 分支批处理时间更改为每周一次

  • SERVER-37425长寿测试–将批处理时间增加到每年一次

  • SERVER-37437 mongo 长寿测试失败

  • SERVER-37467使 collect_resource_info.py 从瞬时错误中恢复。

  • SERVER-37477禁用 TIG 每日 Cron,以进行 update_test_lifecycle

  • SERVER-37595 [3.6]妥善处理 WT_TRY_SALVAGE 错误代码

  • SERVER-37599 Shell 生成的进程的退出代码

  • SERVER-37701跟踪时使 SessionUpdateTracker 包括 LogicalSessionId 的 uid 部分

  • SERVER-37816 [3.6]向 ephemeralForTest 变体添加–excludeWithAnyTags = requires_wiredtiger

  • WT-3276添加“ recover = salvage”以从损坏的日志文件中恢复

  • WT-3735添加可生成大量页面拆分的 workgen 工作负载

  • WT-3736添加统计信息以衡量后备光标上的竞争

  • WT-3839记录截断范围与插入重叠的未定义行为

  • WT-3856创建一个测试,该测试通过架构操作将恢复运行到不同的时间点

  • WT-3879禁止检查点逐出元数据页面

  • WT-3894时间戳队列的实现和统计信息的改进

  • WT-3917增强 WT_CURSOR ::保留有关提交可见性的文档

  • WT-3943在 python 测试 assert 时包含完整的错误消息

  • WT-3955添加详细选项以在错误返回时记录更多消息

  • WT-3963添加架构密集型中止测试

  • WT-3968使用压缩率调整页面大小

  • WT-4010简化测试/格式时间戳记的处理。

  • WT-4024修复拆分和下一个/上一个之间的竞争

  • WT-4026为现有文件 extensions 配置 API 添加实现

  • WT-4048通用化 Timing_stress_for_test 拆分功能

  • WT-4067增强 LSM,使其不会在缓存中固定太多历史记录

  • WT-4090低优先级读取

  • WT-4101保留 oldest_timestamp 时,在会话验证期间不要中止驱逐服务器

  • WT-4104修复将数据内容与 berkeley db 进行比较期间的测试/格式失败

  • WT-4111改进检查点清理算法

  • WT-4119避免在列存储扫描期间重新启动更新/删除

  • WT-4125确保带有稳定时间戳记的后续检查点不会读太多

  • WT-4131重命名后备以缓存溢出

  • WT-4133 Coverage 1393445、1393446 在空检查之前取消引用

  • WT-4134重做 assert,即我们不会丢弃所需的历史记录

  • WT-4136添加一个新的时序压力标记,该标记在树搜索期间产生

  • WT-4138为超时 await 缓存中的空间添加选项

  • WT-4139重命名游标重新启动统计信息以匹配实现

  • WT-4140光标移动不必要地限制了快速逐出页面的选择。

  • WT-4141通过时间戳增强检查点,以更快地取消逐出

  • WT-4144使用后备历史记录修复 rollback_to_stable

  • WT-4145仅在检查点期间包括检查点时间戳记

  • WT-4146 Coverage 1393639,未使用的变量

  • WT-4147日志恢复不应忽略日志文件中日志记录之外的损坏

  • WT-4152保存返回值,以便以后在 Transaction 代码中进行比较

  • WT-4154显示最早的读取时间戳

  • WT-4156添加新的 wiredtiger_salvage 顶级 API

  • WT-4160不使用时间戳时恢复性能

  • WT-4163 Lint

  • WT-4168更新 3.1.0 版本的升级文档

  • WT-4169修复 wt 验证转储页面失败

  • WT-4171启用树步行时序压力会导致速度过慢

  • WT-4172在释放引用之前,在更多位置添加诊断危险指针检查

  • WT-4174使用 in_memory = true 运行时,请勿访问 rollback_to_stable 中的后备文件

  • WT-4176公开 WT_SESSION.query_timestamp 方法

  • WT-4177备份游标打开应强制切换日志文件

  • WT-4178修复内存所需的 wt_btree_immediately_durable

  • WT-4179公开 WiredTiger crc32c 函数

  • WT-4182使用保守的方法处理日志校验和错误

  • WT-4183扩展详细选项以在错误返回时记录更多消息

  • WT-4185阅读页面时不要删除所有后备条目

  • WT-4186日志恢复应检测并报告日志 Logging 的损坏

  • WT-4187承保范围:未使用的价值投诉

  • WT-4188承保范围:未经检查的return投诉

  • __async_flush_wait()中的WT-4189潜在无限循环。

  • WT-4191解决 Coverity 静态分析错误

  • WT-4193测试/格式化快照隔离搜索不匹配

  • WT-4194通过多个表格提高迁离的公平性

  • WT-4195遇到非法值时,记录失败的值

  • WT-4196不管计算机字节 Sequences 如何,都可以进行日志损坏检查

  • WT-4198一些受支持的 MongoDB 架构不支持 crc32 硬件

  • WT-4199修复错误的日志损坏报告

  • WT-4201解决 Coverity 静态分析问题

  • WT-4206修复了游标关闭例程中的错误处理

  • WT-4207 Coverity#1394567:空指针取消引用

  • WT-4208树木漫步可被锁定的内部页面打断

  • WT-4210模式中止子进程过早失败

  • WT-4211为长期运行的准备好的 Transaction 添加自动测试

  • WT-4212更新后备架构以处理准备好的事务

  • WT-4213重命名具有多余或误导性 Literals 的锁定统计信息

  • WT-4215允许在不进行挽救的情况下恢复备份

  • WT-4216将单独的计数器用于 page_swapYield 和休眠

  • WT-4218更改逐出以逐出准备好的更新

  • WT-4225自动执行通过 dd 模拟卷快照的备份测试

  • WT-4226测试/格式化 LSM 配置可能会错误配置准备和时间戳

  • WT-4229 Lint

  • WT-4231使用属性修复函数的 ctags 索引

  • WT-4233将日志损坏错误更改为警告并截断日志

  • WT-4234删除有关旧版工具 statlog.py 的文档提及

  • WT-4235修复工作流跨工作负载的表状态跟踪

  • WT-4239不允许检查点在树中执行插入拆分

  • WT-4241 GNU 堆栈部分永远不应有条件地编译出来

  • WT-4242新的日志文件 extensionsPython 测试失败

  • WT-4243修复后备扫描以不删除必需的条目

  • WT-4246更改 Transaction 更新列表以支持间接引用

  • WT-4248修复 schema_abort 中慢速机器的检查点

  • WT-4249尝试在验证操作期间丢弃脏页

  • WT-4251准备好的更新不能被丢弃

  • WT-4252 Btree 调试功能会在发生错误时泄漏暂存缓冲区。

  • WT-4253用于进行盲读的 Btree 调试功能无法处理行存储内部页

  • WT-4256在 rollback_to_stable 期间松开检查

  • WT-4257不要假定后备时间的时间戳在内存中对齐

  • WT-4259撤回失败时,将引用还原到以前的状态,而不是 MEM

  • WT-4261测试不同步的元数据/turtle 文件

  • WT-4262将已删除的孩子锁定在逐出内部页面中

3.6.8 Changelog

Sharding

  • SERVER-30841减少元数据刷新日志记录的数量

  • SERVER-33645确定是否应从 retryable_writes_jscore_stepdown_suite 将 splitvector.js 列入黑名单

  • SERVER-34204针对分片群集,可移动光标在 getMore 上失败

  • SERVER-34913因果一致的套件中的 splitvector.js 列入黑名单

  • SERVER-35092 ShardServerCatalogCacheLoader 应该有一个超时 await 读取关注

  • 带有会话的辅助节点上的 GetMore SERVER-36332 CursorNotFound 错误

  • 当 max = MaxKey 时SERVER-36741 ChunkManager :: getShardIdsForRange 不变量

  • SERVER-36777 FCV 3.4 中的会话记录过多

  • SERVER-37050在 session_collection_auto_healing 中 await 复制

Replication

  • SERVER-35941不要在 PV0 中的次要对象上维护完整的稳定的 optime 候选者列表

  • SERVER-36128在关闭时,ReplicationCoordinatorImpl :: fillIsMasterForReplSet 应该返回 isMaster:false

  • SERVER-36664在 read_committed_with_catalog_changes.js 中使用 awaitReplication 而不是 getLastError

  • SERVER-37010防止 initial_sync4.js 和 initial_sync_rename_collection * .js 中发生意外选举

Query

  • SERVER-26387将 noPassthrough/indexbg2.js 替换为使用故障点的测试

  • SERVER-34846如果排序规则不包含在匹配或排序中,则带有排序规则字段的覆盖索引返回错误结果

Aggregation

SERVER-35084 change_stream_enforce_max_time_ms_on_mongos.js 期望 getMore 可以安排后续的 getMores

Storage

  • SERVER-34384在 oplog 申请期间进行二级读取的直通测试

  • SERVER-37002在 MMAPv1 下通过重命名删除具有长索引名的集合失败

Operations

SERVER-36479记录慢查询时,日志编辑不显示 planSummary

构建和包装

SERVER-36884在稳定分支上更新策展人版本

Internals

  • SERVER-32920避免在直通测试中覆盖配置服务器的读取首选项。

  • SERVER-34120作用域连接未返回到池

  • SERVER-34144 Powercycle 输出改进

  • SERVER-34465添加测试参数以选择永久同步源

  • SERVER-34614 parallelTester 应该为每个新测试使用不同的连接

  • SERVER-34923替换 PeriodicRunnerASIO

  • SERVER-35100钩子动态测试失败时,请勿记录 Python 堆栈跟踪

  • SERVER-35123period_runner_impl 立即开始作业,单元测试应反映出

  • SERVER-36001将 require_document_locking 标记添加到 noPassthrough/indexbg2.js

  • SERVER-36149修复 setFCV 虚拟名称空间的特权

  • SERVER-36725 Periodic_runner_impl_test 应该手动调用 tearDown

  • SERVER-36743在 startup_logging.js 中提取日志之前停止 mongod

  • SERVER-36947为 perf 微型基准测试启用测试命令

  • SERVER-36980从常绿中删除旧的聚合模糊器

  • WT-4218更改逐出以逐出准备好的更新。

3.6.7 Changelog

Security

  • SERVER-33857由于与 Command :: redactForLogging()混淆而缺少日志编辑

  • SERVER-35032要求 SSL 实例的非 SSL 连接在 3.6.4 中获取非信息日志消息

Sharding

  • SERVER-27725迁移块时使用批处理插入

  • SERVER-32056增加测试中的 maxExpireTime 以考虑舍入

  • SERVER-33237优化范围删除器的速度

  • SERVER-33697对缓存的会话数进行完整性检查

  • SERVER-34843 Mongod 可以返回大于$ clusterTime 的 operationTime

  • SERVER-34897引入参数以控制 MongoS 是否应自动重试失败的查找命令

  • SERVER-35377新 Client 端上的操作获得最新的内存 clusterTime 作为 operationTime

  • SERVER-35658会话迁移对副本集的主要选举过于敏感

  • SERVER-36041增加变更日志和操作日志的大小

  • SERVER-36132提交成功后不变,块迁移实际上反映在元数据中

  • SERVER-36232提交块迁移提交后刷新可能看不到已提交的元数据

  • SERVER-36248不要拒绝 FCV 3.4 中的会话

  • SERVER-36463在未经身份验证的连接上绕过 isMaster 的虚拟签名的验证

Replication

  • SERVER-28389将 CallbackCanceled 错误传递给分散收集运行器算法以进行处理

  • SERVER-32148将 NamespaceNotFound 设为 emptyCapped 和 convertToCapped 可接受的错误

  • SERVER-32907在测试中调低心跳日志的详细程度

  • SERVER-33243改进节点更改同步源时的日志记录

  • SERVER-34414使用 buildsIndexes:false 节点创建角色时遇到提示

  • SERVER-34895稳定时间戳记可以设置为 oplog 中没有的时间戳记

  • SERVER-34941在恢复 oplog 应用期间缓存已满

  • SERVER-34942在最初同步时 oplog 重放期间缓存已满

  • SERVER-35058不仅要依靠心跳来发出降压命令中的次要位置 signal

  • SERVER-35113如果在单个节点 RS 上 lastApplied 没有前进,但所有提交的时间戳都没有向前推进,则时间戳不会稳定

  • SERVER-35200稳定状态复制期间加快 OplogFetcher 中的故障检测

  • SERVER-35239 AwaitData 游标必须处理来自 lastKnownCommittedOpTime 较高的 Client 端的 getMore

  • SERVER-35246在 replsettest.js 中的 checkReplicaSet 期间运行 collMod 时忽略 NamespaceNotFound 错误

  • SERVER-35623在降级时向符合条件的候选人发送 replSetStepUp 命令

  • SERVER-35624默认情况下启用选举切换并更新受影响的测试

  • SERVER-35754避免 catchup_takeover_one_high_priority.js 中的 stopSet()中出现网络错误

  • SERVER-35766以候选人的新任期发送的复制命令可能会中断并发投票请求

  • SERVER-35951在 PV1 下,单个节点 RS 的 ReplicationCoordinatorImpl :: processReplSetFreeze 应该开始选举,而不是自动赢得。

  • SERVER-35962 buildindexes_false_with_system_indexes.js 重新启动节点,应标记为[requires_persistence]

  • SERVER-36083添加 allowMajorityReadConcern:错误的常绿变体

  • SERVER-36225调用 getMinValid 时不保留复制互斥锁

  • SERVER-36234修复./jstests/replsets/initial_sync_drop_collection.js,以防止在测试中使用过时的心跳信息。

Query

  • SERVER-33245 mr.cpp 可以在已经存在活动异常的情况下抛出 ON_BLOCK_EXIT 处理程序

  • SERVER-36239 MatchExpression 解析器查询规则

Aggregation

  • SERVER-35961在 MapReduce 命令中删除未初始化的计数变量

  • SERVER-35967具有 explain(true)的$ sample 挂起

  • 启用审计后,带有$ out 的SERVER-36070聚合会导致错误

JavaScript

SERVER-35986停止在较旧的分支上的并行套件中运行 eval 命令

Storage

Operations

  • SERVER-34160 MongoClient 端终止时运行缓冲命令。

  • SERVER-35180避免在直接 Client 端中设置操作会话信息值

  • SERVER-35795 3.4 次中学在一段时间后因 3.6 小学而崩溃

  • SERVER-36010将 Windows 堆栈跟踪的日志消息更改为使用 error()或 strict()而不是 log()

构建和包装

Tools

TOOLS-2075 mongoreplay 始终重播到次要

Internals

  • SERVER-26150 auth_utils.js authutils.assertAuthenticate 应该更好地处理挂断

  • SERVER-32302 BSONObj 上的 for-each 循环比 MatchExpressionParser 代码中的显式 BSONObjIterator 慢

  • SERVER-32371 features2.js 应排除 clusterTime 元数据

  • SERVER-32639移除 FCV 检查后,独立副本集中的仲裁者无法使用 auth 签名或验证 clusterTime

  • SERVER-32792在 retryable_writes_jscore_stepdown_passthrough 中对 isMaster 响应的 ismaster 字段 assert 的黑名单测试

  • SERVER-33695在 powertest.py 中的恢复文件之前和之后添加循环名称

  • SERVER-33841为突变模糊测试器添加钩子

  • SERVER-34258 Windows 上来自 mount_drives.sh 的错误

  • SERVER-34558将 SSL_version 添加到 Client 端元数据日志记录

  • SERVER-34793在失败的任务完成时将呼叫添加到 BF 建议服务器

  • SERVER-35110在 set_feature_compatibility_version.js 中记录可能发生致命 assert/其他错误的位置

  • SERVER-35383提高降压套件中使用的 ContinuousStepdown 钩子的选举超时 Millis

  • 当 Logkeeper 不可用时,SERVER-35472 resmoke.py 不应回退到 stderr

  • SERVER-35668避免将并发测试移至 arm64 上的小型实例

  • SERVER-35724无法通过 ssh 访问的远程 EC2 主机应因系统错误而失败

  • SERVER-35858呼叫 BF 建议服务出错

  • SERVER-35861删除对 perf.yml 中的 dashboard_gen.py 的调用

  • SERVER-35946 Powercycle kill_mongod 函数应确保服务未处于运行状态

  • SERVER-35993 read_concern_uninitiated_set 重新启动节点,因此不得允许临时存储

  • SERVER-36223在 v3.6 的序言中添加了一个钩子,以便模糊器不发送 lsid

  • SERVER-36274在 sys-perf 中重新启用–ycsb 吞吐量分析

  • SERVER-36448在使用 ContinuousStepdown 钩子的套件中禁用选举切换

  • SERVER-36462将 Map 集用户添加到 runtime_secret.yml

  • TOOLS-1991使用 Go 1.10.1 构建工具

  • WT-4143使用 WiredTiger.turtle.set(如果存在),但不使用 WiredTiger.turtle

3.6.6 Changelog

Security

  • SERVER-34822 RoleGraph 更新应忽略非角色集合上的索引创建

  • SERVER-35322 external_auth 测试应在每个测试中使用唯一的 kerberos 凭据缓存

Sharding

  • SERVER-25746将 advisoryHostFQDNs 数据存储在 config.mongos 集合中

  • SERVER-33081在回滚期间正确重置 KeysCollectionManager

  • SERVER-33327 Session :: onMigrateCompletedOnPrimary 不应更新 lastWriteDate 字段

  • SERVER-33538 mapReduce 在分片的输出集合上“替换”会导致 UUIDCatalog 不一致

  • SERVER-33639对不存在的数据库的并发写入可能会由于 createDatabase 时的 distlock 采集超时而失败

  • SERVER-34363 addShard 分片注册表重新加载可能导致 mongos 终止

  • SERVER-34773 TransactionReaper 处理程序类不是异常安全的

  • SERVER-34833逻辑会话的事务收割者与 MMAP V1 持久性线程之间的死锁

  • SERVER-34857 sharding_legacy_api_test 由于依赖系统时钟而异常

  • SERVER-35006不要重置 KeysCollectionManager

  • SERVER-35345测试 FCV 更新后重新启动的蒙古人是否可以连接

  • SERVER-35609如果仅写入一个块,则在 primaryShard 上创建初始块

  • SERVER-35653恢复初始块创建优化

  • SERVER-35745 _getNextSessionMods 不包含 oplogReplay 标志来查询在迁移过程中创建的新 oplog

Replication

  • SERVER-5461将 syncSourceHost 字段添加到 replSetGetStatus 输出

  • SERVER-29844如果节点的优先级高于主节点,并且是最新的,请安排将以更快的速度执行的接管。

  • SERVER-31995记录的初始同步统计信息可能会超过 16mb,这会导致 fassert

  • SERVER-32382如果 oplog 条目很大,回滚可能会超时

  • SERVER-32687在 initialSync 期间在 sync_tail.cpp 中获取丢失的文档时,忽略未找到的集合

  • SERVER-32935改进 SyncTail :: oplogApplication()中的异常处理

  • SERVER-33638 CheckReplDBHash 应该忽略 mapreduce 增量集合

  • SERVER-33812提取的第一个初始同步 oplog 读取批次可能为空;不要将其视为错误。

  • SERVER-34102在 PV1 下,单个节点 RS 的 ReplicationCoordinatorImpl :: __ handleTimePassing 应该开始选举,而不是自动赢得。

  • SERVER-34110在回滚期间重新获取文档时忽略 NamespaceNotFound 错误

  • SERVER-34249未初始化副本集节点上的 Oplog 查询可能导致 seg 错误

  • SERVER-34549测试指的是 ReplSetTest.kDefaultTimeoutMS(未定义)

  • SERVER-34661如果投票请求响应有错误,请尽早返回

  • SERVER-34682老小学应投票赞成,并在卸任后学习更高的学期后存储最后的投票

  • SERVER-34758 replSetGetStatus 可以与 initialSyncer 死锁

  • SERVER-34900初始同步使用与稳态复制不同的批处理限制

  • SERVER-35087“ ./jstests/replsets/read_concern_uninitated_set.js”,对于存储引擎-ephemeralForTest 和 mmapv1,应常绿禁用测试。

  • SERVER-35124带有 MMAP V1 的降压套件通常会因刷新 mmap 花费较长时间而失败

  • SERVER-35249我们在 3.6 复制恢复中应用于 oplog 顶部的不变式

  • SERVER-35256如果 oplog 查询返回的第一批在主从中返回为空,请勿将其视为错误

  • SERVER-35340减少 update_and_bulk_insert.js FSM 工作负载中的迭代次数

  • SERVER-35405更改 replBatchLimitOperations 的默认设置

Query

  • SERVER-33959 CursorManager 在持有分区锁的同时尝试处置聚合游标,从而导致死锁

  • SERVER-34933 pcre 动词支持

  • SERVER-35693由于 O(n ^ 2)boost :: flat_set 构造函数,$ in 的解析需要二次时间

Aggregation

  • SERVER-34040禁止在“内部”数据库和系统集合上进行更改

  • SERVER-35750 [仅限于 3.6]将 change_stream_collation.js 中的 assert 修复为 assert.soon()

JavaScript

SERVER-34515不变故障_scope-> exec(“ $ arr = [];”,“组清理”,false,true,false,2 * 1000)

Storage

  • SERVER-31679用于写入副本集的磁盘 I/O 增加

  • SERVER-33078 convertToCapped 大小未检查浮点-> long long 溢出

  • SERVER-34630更改 3.6 版本中的 WiredTiger 兼容性版本设置

  • SERVER-34829挂起挂起的收割者在发生挂起之前不得删除_dropPendingNamespaces 条目

  • SERVER-34863在 3.2、3.4 和 3.6 分支上禁用 LSM 测试

  • SERVER-35859禁用 rocksdb buildvariant

WiredTiger

  • SERVER-33706删除有关 Windows FS 缓存配置的警告消息

Operations

  • SERVER-27230当副本集不健康时,诊断数据压缩不佳

  • SERVER-28830 cursorHandleFromId 应验证未在关闭的连接上调用它

  • SERVER-32065以 mongo shell 连接字符串格式添加对 retryWrites 选项的支持

  • 并行套件中的SERVER-33080黑名单 getLog2.js

  • SERVER-33546将数字同步字段添加到 replSetGetStatus 成员数组

  • SERVER-34141分片中的 appName 不一致

  • SERVER-34159修复 migration_destination_manager 日志记录

  • SERVER-35444启用了堆栈分析的 serverStatus 中不应包含堆堆栈

构建和包装

  • SERVER-32999平台支持:删除 Debian 7

  • SERVER-33395 PPC64 的小字节序优化在较新的 gcc 上已被破坏

  • SERVER-34451 Windows 上的 MongoDB 安装错误:安装向导过早终止

  • SERVER-35210策展人发布的版本应从项目扩展中填充

Tools

Internals

  • SERVER-26884在测试失败时支持在 Evergreen 中归档数据文件

  • SERVER-29359在 Export 服务器连接上启用 SO_KEEPALIVE

  • SERVER-31013使 serverExitCodeMap 有用,以在构建连接之前检测服务器是否在启动时崩溃

  • SERVER-31400在 ftdc 中记录 Linux netstatMetrics

  • SERVER-31562在每个失败的测试结束时转储副本集操作日志

  • SERVER-31830在不变语句中记录值

  • SERVER-32602多版本测试未在企业版本上运行企业 MongoDB

  • SERVER-32688 FSM 复制套件应给次要成员零票

  • SERVER-32715在 remote_operations.py 的_SSH_CONNECTION_ERRORS 列表中添加“拒绝连接”

  • SERVER-32762将文件上传到 S3 的模块

  • SERVER-32763创建 archive.json 并关联到 evergreen.yml 中的任务

  • SERVER-32852捕获有关并发套件故障的 FTDC 数据

  • SERVER-33009 evergreen.yml 中的 AWS 凭证配置文件

  • SERVER-33144在测试失败时支持在 Evergreen 中归档数据文件-Windows

  • SERVER-33193为特定任务和钩子启用测试失败存档

  • SERVER-33346固定 boto3 的特定版本以在 etc/evergreen.yml 脚本中使用

  • SERVER-33420将检测元功能添加到 StatusWith

  • SERVER-33512将 PeriodicKillSecondaries 钩子添加到存档列表

  • SERVER-33553 OP_KILL_CURSORS 在 mongos 上失败:无法检出游标中的 killCursor

  • 如果对 aws_ec2.py 的调用失败,则SERVER-33813 launch_evergreen_ec2_instance.sh 应该立即失败

  • SERVER-33817使用 kill mongod 进行 Powercycle 测试

  • SERVER-33995 mongod 使用 nmap 脚本崩溃

  • SERVER-34075 powercycle_replication *必须运行复制恢复才能观察金丝雀文件

  • SERVER-34345使提供服务器参数验证规则更加容易

  • SERVER-34371当测试装置无法删除数据文件时,请不要忽略错误

  • SERVER-34374 resmoke.py 使用字节字符串表示路径名,导致在 Windows 上无提示地无法清除 dbpath

  • SERVER-34380 system_perf.yml:删除 compile_proxy 任务

  • SERVER-34481提高 awaitdata_getmore_cmd.js 的弹性

  • SERVER-34540从 dbtests 中删除 sleeptest

  • SERVER-34563如果返回的记录位于子域中,则 SRV 记录连接失败

  • SERVER-34735从 X.509 证书中提取结构化名称

  • SERVER-34810会话缓存刷新可能会错误地杀死仍在使用的游标

  • SERVER-34851不允许对找到的最小值和最大值相同的索引进行选择

  • SERVER-34865删除临时文件后,测试归档失败

  • SERVER-34888 SSLPeerInfo 的跟踪状态

  • SERVER-34936减少 rocksdb buildvariant 的批处理时间

  • SERVER-34950使用新的 sys-perf 基准 3.4.14-基准

  • SERVER-34956 big_object1.js 无法应对意外降级

  • SERVER-34996将 aws_ec2.py 中的 console_output 和 console_screenshot 另存为 evergreen.yml 中的工件

  • SERVER-35051 Resmoke 应该在关闭分片群集之前先停止平衡器

  • SERVER-35055 KeyedExecutor

  • SERVER-35071将 MMAPv1 任务拆分为 sys-perf 中的单独变体

  • SERVER-35101以不同的方式处理格式不正确的 bindIp 参数

  • SERVER-35108在 system_perf.yml 中启用 signal 处理

  • SERVER-35155使用显式 X509Client 端名称修复 jstests/ssl/x509_invalid.js

  • SERVER-35188 ServiceLiason *类型的拼写错误

  • SERVER-35190 resmoke.py 默认情况下按字母 Sequences 运行测试列表

  • SERVER-35207不要在 system_perf.yml 中使用 json.get_history

  • SERVER-35227从 3.6 分支中删除嵌入式

  • SERVER-35229改进对 apply_batch_only_goes_forward.js 的记录

  • SERVER-35231无效的十进制连续数在解码 KeyString 时可能会触发 dassert

  • SERVER-35232将期货 repo 至 3.6

  • SERVER-35348在 update_test_lifecycle 任务中添加静默选项

  • SERVER-35506 Powercycle wait_for_mongod_shutdown 函数应确保 mongod 进程不再运行

  • SERVER-35588 powertest.py 仅在成功 replSetGetConfig 之后才应调用 replSetReconfigure 命令

  • SERVER-35610优化 LDAP 选项解析

  • SERVER-35706修复了 ctor 中 LogicalSessionCacheImpl 的争用

  • SERVER-35834修复 Microsoft 编译器上 dns_name_test 中的编译错误

  • SERVER-35917使用分片集合中的 resumeAfter 之后的黑名单测试会更改流通过

  • WT-3698时间戳无法推进时,驱逐线程可能会无限期停止

  • WT-3892添加 timing_stress_for_test 选项进行后备清理

  • WT-3914为准备好的 Transaction 添加常规文档

  • WT-3937调整后备扫描以应对工作负载

  • WT-4000设置 read_timestamp 时避免获取两个快照

  • WT-4004测试/格式化快照隔离搜索不匹配失败

  • WT-4016通过设置 stable_timestamp 来衡量和改善后备性能

  • WT-4023将邮件添加到一些返回错误的地方

  • WT-4029导出日志文件版本

  • WT-4033新增了无需独占访问即可更改表的功能

  • WT-4039将行存储缺失值支持移至单元格拆包代码中。

  • WT-4044添加内部 API 以返回有效的一代

  • WT-4049长时间测试时性能下降

  • WT-4051格式配置的 LSM 缓存太小。

  • WT-4052会话重置时释放 Transaction 资源

  • WT-4055格式事务准备和日志记录配置不正确

  • WT-4056新的 API,用于在开放时配置最低兼容性版本

  • WT-4057 round_to_oldest 应在构建舍入读取时间戳后构建 txn 快照

  • WT-4058当 io 变慢时,加快插槽切换速度

  • WT-4059以完整记录开始后备扫描

  • WT-4060清理__wt_getenv()错误处理。

  • WT-4061由于缓存压力,请勿在恢复期间回滚

  • WT-4063更新文档以明确禁用日志归档的时间。

  • WT-4064放松对后备条目计数的检查

  • WT-4069截断的提交可以使页面永久锁定

  • WT-4070 WiredTiger 恢复可以检查指向事务片段的数据点

  • WT-4071在禁用时间戳的情况下运行单元测试

  • WT-4074 Lint 修复:请勿使用除了返回以外无所作为的错误标签

  • WT-4075准备后允许 timestamp_transaction

  • WT-4076测试/格式化失败,缓存卡满了内部页面

  • WT-4077 zSeries 上的事务测试在检查点中包含错误的 LSN

  • WT-4078如果内存分配失败,拆分可能会泄漏页面锁定。

  • WT-4079确认 WiredTiger 在 gcc8 下构建

  • WT-4080 gcc8 -Wparentheses 抱怨 WiredTiger 的__F()宏。

  • WT-4081改进 syscall.py 的错误和文档

  • WT-4086在打开日志记录子系统之前验证日志文件版本

  • WT-4087在 WiredTiger 中存储当前兼容性

  • WT-4091使分页 match 条件的 Timing_stress_test 选项起作用。

  • WT-4093暂时停用测试/格式化 LSM 和时间戳测试

  • WT-4094在运行 YCSB 50/50 工作负载时了解可变吞吐量

  • WT-4098添加新的 compatible_max 配置选项

  • WT-4105优化缓存使用率以固定历史记录以更新工作负载

  • WT-4110 test_timestamp_abort 失败,缺少记录

  • est_wt4105_large_doc_small_upd 中的WT-4115 Valgrind 错误

  • WT-4116 Coverity#1393311 复制粘贴错误

  • WT-4117公开 WiredTiger crc32c 函数

  • WT-4120增强测试/格式以在超时时转储缓存

  • WT-4122确保兼容性降级清除旧的日志文件

  • WT-4127为兼容性版本错误添加通用前缀

  • WT-4128稳定时间戳不变时跳过检查点

3.6.5 Changelog

Security

  • SERVER-34418在具有 OpenSSL 的 OS X 上禁用 ESE 的 GCM 加密

  • SERVER-34477覆盖范围分析缺陷 103475:无效的迭代器比较

Sharding

  • SERVER-32681确切_shard_key_target.js moveChunk 应该 await 删除

  • SERVER-33585如果没有可用的键,请不要返回$ clusterTime

  • SERVER-33714将 FCV 从 3.6 降级到 3.4 会在碎片上保留一个 admin.system.keys 集合,这些碎片在升级时将被孤立并重命名而没有 UUID

  • SERVER-33766辅助刷新可能不会使主路由刷新后的内存路由表缓存失效

  • SERVER-34098将 chunk_manager_refresh_bm 从单元测试移至 perf 微基准

  • SERVER-34347在远程查询谓词与 mongos 上不变的单个目标触发器混合的情况下进行批量写入

  • SERVER-34508防止 Migration Destination Manager 中的竞争条件吞下异常

  • SERVER-34571关机时 Invariant 在 MigrationChunkClonerSourceLegacy 的析构函数中失败

  • SERVER-34586 ShardServerCatalogCacheLoader 中可能的双互斥量获取

  • SERVER-34644禁用 DollarPrefixedFieldName 检查 moveChunk/mergeChunks

  • SERVER-34683由于存在 config.system.sessions,将副本集从 3.6.4 降级到 3.4.14 失败

  • SERVER-34746在将分片添加到分片之前使用–shardsvr 启动分片时出现分段错误

Replication

  • SERVER-29966添加在辅助批处理过程中 lastOpApplied 不变的不变式

  • SERVER-30642提高选举超时,以提供更稳定的副本集测试拓扑

  • SERVER-32647在 Jepsen 测试中获得种子节点后,重试连接到副本集

  • SERVER-33026 SyncSourceFeedback 请求没有超时

  • SERVER-33287创建杀死主要节点的直通

  • SERVER-33475重试写入未正确 awaitwriteConcern

  • SERVER-33879 config.transactions 在启动复制恢复期间未更新

  • SERVER-33956重命名和创建序列的序列,这些集合未达到正确的最终状态

Query

  • SERVER-33154{"query" => "foo"}上转换错误

  • SERVER-34389修改 change_stream_collation 测试以避免失败

  • SERVER-34714包含全部为 Pseudo 子项的$ or 查询会错误地优化

  • SERVER-34725分组和计数计划阶段未在 PlanStage :: DEAD 状态下设置 WorkingSetID 输出

  • SERVER-34767随机 KeyString 解码测试可以按十进制打入 dassert

Write Operations

SERVER-27534如果更改术语,所有写操作必须失败

Aggregation

SERVER-34399 $ changeStream 具有无效的恢复令牌使服务器崩溃

Storage

  • SERVER-32989 repairDatabase 可以与 dropDatabase 竞争。

  • SERVER-33743使用 all_committed 设置主节点上的 lastApplied

  • SERVER-34091 Oplog 可见性规则可能导致 cappedTruncateAfter 错误地跳过 WiredTiger 中的记录删除

  • SERVER-34423 collMod 中断可能会导致不变的故障

  • SERVER-34656将辅助读取 sys-perf 测试添加到 system_perf.yml

WiredTiger

  • SERVER-20056如果 wiredTigerCacheSizeGB 大于 RAM 的 80%,则记录启动警告

Operations

  • SERVER-32876不要因为 WT 缓存已满而停止 ftdc

  • SERVER-34665 mongo shell 应该重试来自服务器的 WriteConcernFailure 错误响应

构建和包装

Tools

  • TOOLS-1765 mongoreplay 崩溃,内存不足记录来自 8GB pcap 文件

  • TOOLS-1776 mongoreplay 在完成播放时挂在打开的连接上

  • TOOLS-1780使用 Go 1.8.x 构建工具

  • TOOLS-1948在带有 openssl 0.9.x 的平台上使用 Go-native TLS 拨号程序

  • TOOLS-1968反向移植-需要更新 spacemonkeygo/openssl 分支以支持较新的 OpenSSL 库

  • TOOLS-1999使用–uri 会覆盖使用–ssl

  • TOOLS-2005 – mongofiles 上不使用安静标志

Internals

  • SERVER-25640让 ReplSetTest 在 stopSet()中运行 checkDBHashes()

  • SERVER-29301将 MozJS 升级到 ESR 45.9.0

  • SERVER-33199添加 Resmoke Benchmark 套件

  • SERVER-33200为 Benchmark 编写新的测试运行程序

  • SERVER-33201添加基准测试烟雾测试用例

  • SERVER-33202添加钩子以启用 resmoke.py 生成 perf.json

  • SERVER-33203编写基准金丝雀测试

  • SERVER-33204修改 Evergreen.yml 以支持基准测试

  • SERVER-33329服务器和命令行 Management 程序不发出 TLS“ protocol_version”警报消息

  • SERVER-33398添加新的更细粒度的 sys-perf 任务

  • 如果存在新文件或修改过的文件,并且 build/benchmarks.txt 不存在,则SERVER-33438 burn_in_tests.py 失败

  • SERVER-33491修复 Benchmark.h 仅使用-fdirectives 进行编译

  • SERVER-33497删除–options 选项以 resmoke.py

  • SERVER-33560从 Google Benchmark 中删除不推荐使用的 Fixture 函数声明

  • SERVER-33636包装 transaction_reaper.js 写入 assert.writeOK

  • SERVER-33643添加便捷功能以在基准测试中获得 num cpu 内核

  • SERVER-33734改善 jsTestLog 的可过滤性

  • SERVER-33746引入其他 Evergreen 选项以进行 resmoke.py

  • SERVER-33805将在 Evergreen 中运行的 Jepsen 任务更改为使用 mongobridge

  • SERVER-33938增加 CheckReplDBHash 钩子中的复制超时

  • SERVER-34210修复带有多个参数的基准的显示

  • SERVER-34218 FieldRef :: parse 不能完全初始化 FieldRef

  • SERVER-34237公开表示 Shell 禁用 TLS 1.0

  • SERVER-34390使 OS X 二进制文件使用 TLS 1.2

  • SERVER-34412 powercycle *任务在任务定义的错误位置设置了 timeout_secs

  • SERVER-34444在 powercycle.py 中崩溃后,重新构建与 LocalToRemoteOperations 的新连接

  • SERVER-34476修复 FreeBSD 上的 OpenSSL 链接

  • SERVER-34582 AsyncRequestsSender 可以在构建期间阻止网络线程

  • SERVER-34605更改 Jepsen 任务以在 Evergreen 的 ubuntu1604-build 发行版上运行

  • SERVER-34651具有可重试的批量写入的辅助应用程序的性能下降

  • SERVER-34657将辅助读取 YCSB 测试添加到 system_perf.yml

  • SERVER-34667 data_consistency_checks.js 错误地认为 config.mongos 集合始终存在

  • SERVER-34742停止在 OS X 上运行 ssl_cert_password.js

  • SERVER-34823在 TransportLayerLegacy 中线程名称和连接号未同步

  • SERVER-34827可重试写入不在 sys-perf-3.6 项目中

  • SERVER-34834await 复制 FCV 文档,然后再降级 clear_and_reinstate_keys_rs.js 中的二进制文件

  • SERVER-34929修复格式错误的预处理器宏检查

  • TOOLS-1941工具质量检查经常超时,尤其是在服务器最新消息上

  • TOOLS-1978工具无法通过 eslint 测试

  • TOOLS-2003从 Evergreen 版本中删除 SUSE11

  • WT-3851使用 ARM 平台的 NEON 指令优化 wt_compare *例程

  • WT-3886识别与准备好的 Transaction 相关的统计信息

  • WT-3910 OS X 上的 libwiredtiger-3.0.1.dylib 加载失败

  • WT-3959在重新启动方案中设置的恢复时间戳需要解决

  • WT-3998修复了关闭时忽略稳定时间戳的错误

  • WT-4006添加对压力计时配置的支持以进行测试/格式化

  • WT-4009使用“ overwrite = false”创建用于光标缓存的快速路径

  • WT-4012修复后备入口计数器

  • WT-4014如果驱逐步行被中断,请清理队列。

  • WT-4015增强 schema06 单元测试以测试掉落

  • WT-4017在检查点撤离时,避免分裂

  • WT-4019更改测试/格式以测试 Transaction 准备次数减少

  • WT-4027重新开始搜索/遍历之间的光标操作

  • WT-4028在未锁定引用的情况下,请勿检查修改过的页面

  • WT-4031页上零长度行存储值可以从检查点中丢弃

  • WT-4032个父页面可以在拆分时逐出。

  • WT-4034重新进入驱逐可能会导致检查点损坏

  • WT-4035截断活动时丢弃的信息

  • WT-4036 Fix Coverity 误报:越界访问。

  • WT-4037 WT_REF 结构在仍在使用时被释放

  • WT-4042在重新打开游标期间安全地访问数据句柄

  • WT-4045 EIO 失败后不要重试 fsync 调用

3.6.4 Changelog

Sharding

  • SERVER-16802平衡器块移动的 Sequences 取决于 config.collections 的 Sequences

  • SERVER-28670将分片元数据刷新 Metrics 部分添加到 serverStatus

  • SERVER-28981分块平衡器在移动块时更喜欢按特定 Sequences 分片

  • SERVER-29807 RangeDeleter 应在即将 await 多数复制时记录日志

  • SERVER-32210在迁移会话信息时降低接收方分片的主数据可能会令人不安

  • SERVER-32604如果集群正在升级或降级,则禁止添加二进制的最后稳定碎片

  • SERVER-32885供体上的重叠块克隆应用程序,可从接收者获取文件

  • SERVER-32886块迁移期间不必要的睡眠

  • SERVER-33189标记为要求已发布的最新稳定版本的未列入黑名单的分片测试

  • SERVER-33763 3.6 驱动程序无法与以 FCV 3.4 运行的 3.6 分片群集通信

  • SERVER-33869对分片进行$ changeStream 检查 shardVersion

  • SERVER-33971 MongoDB 分片群集中的节点因不变失败 oplogEntry.getWallClockTime()而崩溃

Replication

  • SERVER-29946当辅助节点没有同步源时提高心跳速率

  • SERVER-30283 PingStats :: hit()不应将_numFailuresSinceLastStart 设置为最大整数

  • SERVER-31399 repl.apply.batches.totalMillis 不记录申请批处理所花费的时间

  • SERVER-31666 catchup_takeover_one_high_priority 应该使用 initializeWithAnyNodeAsPrimary

  • SERVER-31669在 catchup.js 的情况 3 中增加选举超时

  • SERVER-32776按增量刷新回滚 ID 缓存

  • SERVER-33448放宽 apply_batches_totalMillis.js 中的时间差异要求

  • SERVER-33618初始同步应考虑 applyOps 为 CrudOpType

Query

  • SERVER-31293在 OP_QUERY 查找路径中,不要将 readPreference“ primary”等同于'slaveOk'

  • SERVER-33302缺少一些失败路径的日志编辑

  • SERVER-33542在 MongoDB 3.4 和 3.6 上使用 maxTime()不会产生相同的错误代码

Storage

  • SERVER-32058中止目录元数据更新可能会导致缓存不一致

  • SERVER-32453 WTKVEngine :: getAllIdents 错误处理了光标->下一个返回代码。

  • SERVER-32574修复本地数据库可能导致 WT oplogManagement 器线程永久退出。

  • SERVER-32641一些人为的发现可能会使服务器的调试版本崩溃

  • SERVER-32831 LSM buildvariant 的黑名单 change_stream_chunk_migration.js 和 close_cursor_on_chunk_migration_to_new_shards.js

  • SERVER-33086 namedCollection 目标不应与其他数据库具有相同的 UUID

  • SERVER-33087修复在 namedCollection 中使用 dropTarget 的问题

  • SERVER-33122添加选项以禁用游标缓存以加速放置数据库和收集放置

  • SERVER-33233不要因为门票用完而拖延 ftdc

  • SERVER-33854修复 applyOps 字段处理

  • SERVER-34024默认情况下禁用 WiredTiger 光标缓存。

Operations

  • SERVER-12644将有关 noprealloc 损害性能的 Comments 移到启动警告中

  • SERVER-30114监视 tcmalloc 自旋锁花费的累积时间

  • SERVER-30567按任务类型细分 serviceExecutorTaskStats

  • SERVER-32498 currentOp 输出中的“ desc”字段不再包含日志消息中使用的线程名称

  • SERVER-33227使用脚本中的 connect 方法将作为副作用更新全局数据库。

构建和包装

Internals

  • SERVER-30609使用自适应服务执行程序调查对 markThreadIdle 的需求

  • SERVER-30979使用 CSRS 主要降级功能运行模糊器

  • SERVER-31181 ServiceExecutorAdaptive maxLatencyMicros 应该大于 os 的最小计时器分辨率

  • SERVER-31198通过分步降级运行并发套件

  • SERVER-31266始终如一地对待自适应服务执行者的排队任务报告

  • SERVER-31452逐步降落运行模糊测试

  • SERVER-31556修复 ContinuousStepdownLogger

  • SERVER-31917 RollbackTest 固定装置应添加更多日志消息,描述其正在执行的操作

  • SERVER-31999 awaitdata_getmore_cmd.js 中的 match 条件

  • SERVER-32034副本集主服务器对自适应服务 Actuator 无响应

  • SERVER-32063 mongos 使用 lsid 对 isMaster 请求回复“未经授权:没有经过身份验证的用户”

  • SERVER-32126 validate()应该对 UUID 进行基本的完整性检查

  • SERVER-32241 applyOps 报告成功,即使嵌套的 applyOps 失败也是如此。

  • 当 TransactionReaper 删除条目时,SERVER-32445 config.transactions 表可能不同步

  • 来自数据一致性钩子的SERVER-32474 resmoke.py 日志记录输出两次记录到 Logkeeper

  • SERVER-32477 ASIOSession 无法正常拆除套接字

  • SERVER-32528在 evergreen.yml 中将固定版本的 curator 用于远程 EC2 实例

  • SERVER-32583 Sys-perf 更新引导程序变量以使用正确的 ConfigDict 名称

  • SERVER-32600 setup_multiversion_mongodb.py 可能会在 x86_64 平台上下载非 x86_64 二进制文件

  • SERVER-32798为 MMAPv1 添加 duroff 变体

  • SERVER-33129 getMinimumTimerResolution()返回 Windows 上的最大分辨率

  • SERVER-33150在干净启动时创建 system.profile 集合与将 UUID 分配给非复制的集合之间进行竞争

  • SERVER-33224将 Windows-64-vs2015-small 发行版用于电源重启任务

  • SERVER-33346固定 boto3 的特定版本以在 etc/evergreen.yml 脚本中使用

  • SERVER-33424验证 JIRA 身份时,将 update_test_lifecycle.py 脚本更改为使用 OAuth

  • SERVER-33437 Decorable :: declareDecorationWithOwner 将错误的所有者指针传递给其装饰

  • SERVER-33467不要释放 Windows 上 ldap_get_option(LDAP_OPT_ERROR_STRING)返回的内存

  • SERVER-33483 HTTP 检测不再起作用

  • SERVER-33484代码覆盖范围无法区分名称相同的文件

  • SERVER-33502使用并行套件中的 getLastError 命令的黑名单或重写 jsCore 测试

  • SERVER-33520在模糊测试套件中启用逻辑会话缓存的后台刷新

  • SERVER-33569检查逻辑会话是否存在一定不能允许部分结果

  • SERVER-33572提供有界的,可中断的,线程安全的生产者使用者队列

  • SERVER-33619为 powertest.py 中的任何 EC2 实例分配 address_type

  • SERVER-33623为 aggregate_fuzzer 启用多版本

  • SERVER-33640因果一致性传递的黑名单 find_and_modify_concurrent_update.js

  • SERVER-33670在 system_perf.yml 中使用-ssl 编译标志构建 mongo 二进制文件

  • SERVER-33682在 evergreen.yml 中的“收集远程 mongo coredumps”发布阶段未设置 Python virtualenv

  • SERVER-33691远程 EC2 实例应具有日志磁盘

  • SERVER-33692仅备份失败的 Powercycle 测试中的数据文件

  • SERVER-33696为 powercycle *任务设置 timeout_secs 以限制单个 powercycle 循环的持续时间

  • 在 ReplSetTest 中连接到现有群集时进行SERVER-33751身份验证

  • SERVER-33778删除 change_stream_remove_shard.js

  • SERVER-33843 PeriodicKillSecondaries 钩子可以在辅助节点仍在应用操作时运行验证

  • SERVER-33848更新 sys-perf 和 Performance 项目的编译标志

  • SERVER-33935 utils_auth.js 应该支持连接到运行 SSL 的集群

  • SERVER-33970 mongo-perf 的新基准

  • SERVER-34062 powertest.py 尝试访问名为 address_type 的属性,而不是其值

  • SERVER-34140删除常青配置中针对单个任务的多个发行版规范

  • SERVER-34178解决有关 TestData.excludedDBsFromDBHash 的问题

  • SERVER-34213 testshard1.js 应该使用_id 为[0,nItems -1]而不是[1,nItems]

  • SERVER-34318在 powertest.py 中将金丝雀插入的超时设置为 1 小时

  • SERVER-34352在 jstestfuzz_sharded_continuous_stepdown.yml 中进行集合验证之前运行 dbhash 检查

  • v3.6 中的SERVER-34361黑名单 migration_critical_section_concurrency.js 最终稳定

  • WT-1228提高 WT_SESSION :: open_cursor 的性能

  • WT-3724如果使用 F_FULLSYNC 刷新失败,则记录错误

  • WT-3805避免在截断快速路径中阅读后备页面

  • WT-3815游标缓存:衡量和调整性能

  • WT-3829 WiredTiger 元数据在逻辑上可能不一致。

  • WT-3848增强新的准备 TransactionAPI 以强制执行发布条件

  • WT-3849将时间戳验证添加到 WT_SESSION :: prepare_transaction

  • WT-3850实现 WT_SESSSION :: prepare_transaction

  • WT-3867双周 WT 代码库皮棉

  • WT-3868双周 WT 代码库皮棉

  • WT-3869双周 WT 代码库皮棉

  • WT-3870双周 WT 代码库皮棉

  • WT-3901操作跟踪日志文件损坏

  • WT-3904重新考虑日志服务器线程中的错误路径

  • WT-3905保存用于检查点的时间戳

  • WT-3906遵守 WT_CONNECTION :: close 中的 stable_timestamp

  • WT-3911关机时忽略后备数据

  • WT-3912快速删除页面应重新实例化删除事务的时间戳。

  • WT-3913增强光标操作以说明准备状态

  • WT-3922允许准备截断操作

  • WT-3923 __wt_txn_context_prepare_check()需要初始化 API

  • WT-3925修正测试格式的操作选择代码

  • WT-3926允许在 begin_transaction 之后设置 read_timestamp

  • WT-3927禁用 LSM 截断测试

  • WT-3930设置恢复时间戳记,即使恢复未运行

  • WT-3931 cursor.prev 分组竞赛

  • WT-3932 WiredTiger js_test 中的内存分配失败

  • WT-3933测试/格式失败,非法 WT_REF.state 回滚已删除的页面

  • WT-3934 LSM 块检查点可以与系统检查点竞争

  • WT-3935默认情况下,在 WiredTiger 中启用光标缓存。

  • WT-3936为 prepare_transaction()添加多线程测试

  • WT-3938通过许多表和会话减少内存使用量

  • WT-3939 test_txn14.test_txn14.test_log_flush 超时

  • 在 WiredTiger 版本执行期间检测到WT-3940 s_export 问题

  • WT-3942更新 test_compact02 以处理由于逐出压力而停止的情况。

  • WT-3945支持 libwiredtiger.so 签入 s_export

  • WT-3946使用 NULL 开始游标截断段错误

  • WT-3947允许 wiredtiger_open 配置禁用游标缓存

  • WT-3948数据句柄循环可能会终止而不执行操作

  • WT-3949 WT_CURSOR :: modify 中的字符串值缓冲区溢出

  • WT-3950添加一些 rollback_to_stable 统计信息

  • 删除了WT-3952个页面删除更新列表。

  • WT-3953测试/格式可以尝试设置非法的准备时间戳记

  • WT-3954测试/格式:在提交之前逐出准备好的操作

  • WT-3958添加查询 API 以获取最新检查点的稳定时间戳

  • WT-3961 all_committed 时间戳应小于任何正在进行的 Transaction

  • WT-3964停止在事务中包装模式操作

  • WT-3967修复了游标缓存扫描的长期测试

  • WT-3969增强格式测试器以说明准备状态

  • WT-3971使用游标缓存使游标重复

  • WT-3972允许同时在数据源上打开超过 64K 的游标

  • WT-3973允许 alter 修改 app_metadata

  • WT-3975 rwlock 更改后 arg 格式不匹配

  • WT-3977在 timestamp_abort 中打印出实际检查点稳定的时间戳

  • WT-3979修复由较新的 Doxygen 版本生成的警告

  • WT-3980无法返回没有后备“真实”更新的修改后的更新

  • WT-3981使快照与 read_timestamp 保持一致

  • WT-3982修复与后备使用相关的 Transaction 可见性错误。

  • WT-3984解决准备状态转换时的 match 条件

  • WT-3985 Windows 上累积了预分配的日志文件

  • WT-3987避免在截断快速路径中阅读后备页面

  • WT-3990主要在测试程序中修复 Coverity 警告

  • WT-3996使用时间戳记和后备测试截断

  • WT-3997游标代码可以旋转,而无需在重新启动/拆分时休眠。

  • WT-4002在 api_data.py 中允许重复

  • __wt_timestamp_iszero()中的WT-4005 AddressSanitizer。

  • WT-4007驱逐实例化死树中的页面。

  • WT-4008为行搜索操作添加 ARM NEON 支持

  • WT-4011 Checkpoint 不应读取截断的页面

  • WT-4022避免在逐走过程中返回 WT_RESTART 错误

  • WT-4025允许内部页面的调试转储

3.6.3 Changelog

Security

  • SERVER-31893明确定义同步 LDAP 调用的超时

  • SERVER-32086默认情况下禁止 LDAP 用户缓存无效日志消息

  • SERVER-32779将 third_party tomcrypt 最终升级到 1.18.1

  • SERVER-32933在无法访问 LDAP 服务器时允许 mongod 启动

Sharding

  • SERVER-27724探索我们是否可以进一步最小化分片上的块元数据重载

  • SERVER-28923为可重试写入添加可诊断性和可支持性功能

  • SERVER-29423分片平衡器可以计划在同一源或目标位置进行多个迁移

  • SERVER-30152添加安全的辅助读取针对 mapReduce 的定向测试

  • SERVER-30671不要期望 causal_consistency_shell_support.js 中的 operationTime 不会改变

  • SERVER-31860如果配置服务器主服务器的 ShardRegistry 为空,则群集上的 setFCV 可能无法在分片上调用 setFCV

  • SERVER-31979块迁移统计信息未记录在 moveChunk.commit 更改日志条目中

  • SERVER-32235从因果一致的工作负载中进行黑名单的 core/drop3.js 测试

  • SERVER-32368不对 sharding_csrs_continuous_config_stepdown_WT 套件中的分片的配置高速缓存执行 UUID 检查

  • SERVER-32554进入关键部分时源分片降级会触发克隆器不变

  • SERVER-32568 migration_sets_fromMigrate_flag.js 测试与分片连续降压套件不兼容

  • SERVER-32569介绍允许配置服务器和分片副本集以非集群模式启动的统一方法

  • SERVER-32592迁移清理期间的降级可能会使源分片主数据库崩溃

  • SERVER-32593迁移提交期间 CSRS 降级可以在源分片主数据库上触发 fassert

  • SERVER-32886块迁移期间不必要的睡眠

  • SERVER-32901将 CollectionShardingStateMap 从 ShardingState 中拉出

  • SERVER-32924标记 skip_sharding_configuration_checks 使用 require_persistence 标记进行测试

  • SERVER-32970将随机块大小初始化放回 mongos 自动拆分跟踪中

  • SERVER-33234 mongos 上的 dropIndexes 如果某个分片返回成功,则应忽略各个分片的 IndexNotFound

Replication

  • SERVER-21456改善从主要位置退出时的关闭连接行为

  • SERVER-28290因心跳加快而辞职,降级后不应放弃任期

  • SERVER-28895删除 replSetUpdatePosition 命令的旧形式

  • SERVER-31707在分片不知道分片的分片集合上测试 changeStreams

  • SERVER-32028使 rslib.js 中的 reconfig()能够抵抗 NodeNotFound 错误

  • SERVER-32209重置 PV 降级和升级的内存运行时间

  • SERVER-32361预期在节点重新启动后会出现致命 assert 的回滚测试不应 await 连接

  • SERVER-32402 dropdown 降级后的数据库可能会导致 fassert

  • SERVER-32432竞争状况导致 ReplicationCoordinatorExternalStateImpl 关闭中出现段错误

  • SERVER-32532两阶段 dropdrop 数据库可能不会在数据库放置之前复制所有集合放置。

  • SERVER-32556在本地数据库上的可重试写入命中不变式

  • SERVER-32564在 rollback_crud_op_sequences.js 中 await 选举时增加 assert.soon 超时

  • SERVER-32624 dropDatabase()应该使用 ReplicationCoordinator :: awaitReplication()而不是 awaitReplicationOfLastOpForClient()await 收集删除

  • SERVER-32783 CollectionCloner :: shutdown()不应在重置_verifyCollectionDroppedScheduler 时阻止

  • SERVER-32794使超时与选举无关,而不取决于选举超时

  • SERVER-32803 stepup.js 在超越另一个主节点时应重试 replSetStepUp 命令

  • SERVER-32840删除 pv0 吉普车测试

  • SERVER-32919 initial_sync_many_dbs.js 应使用较少的数据

Query

  • SERVER-28260创建 killAnyCursor 特权

  • SERVER-31484操作期限和 awaitData 超时应分开

  • SERVER-31854第一次删除后,assertSchemaMatch()应该 assert 后续删除成功

  • SERVER-32441 3.6 mongod 在具有索引和嵌套$ and/$ or 的查找时崩溃

  • SERVER-32492 idhack_sharded.js 在 moveChunk 中应使用_waitForDelete:true

  • SERVER-32606在辅助节点上跟踪操作日志失败,并发生 CappedPositionLost

  • SERVER-33005包含的$或对$ elemMatch 对象的访问计划不正确,导致不变的失败

  • SERVER-33089无法启动可查询 mongod,因为它无法重新生成 admin.system.users 的索引

  • SERVER-33092 elemMatchProjection.js 错误地假定 shell 生成单调递增的_id 值

  • SERVER-33333防止失败的交叉用户 getMores 产生副作用

Aggregation

  • SERVER-31760查找子管道未使用索引进行相等匹配

  • SERVER-32349如果存在多个具有相同时间戳的更改,则无法恢复分片更改流

  • SERVER-32690聚合可以触发与重命名字段优化相关的不变式

Storage

  • SERVER-32259改进 fetchTypeAndSourceURI()的错误处理

  • SERVER-32274请勿套用时间戳记 Ops 在独立服务器上写入

  • SERVER-32533在用 WT 截断 oplog 时,请勿使用开始键

  • SERVER-32573与 WiredTiger 的 LSM 树一起运行时,跳过 wt_delayed_secondary_read_concern_majority.js

  • SERVER-32637如果未明确关闭 readConcernMajority,请确保在打开 pv0 时升级到 3.6 不会中断

  • SERVER-32851 setFeatureCompatibilityVersion 可以与 createCollection 竞争,从而设置了 FCV 3.6,并且某些集合没有 UUID

Operations

  • SERVER-32072 DBRef 的 NumberInt ID 更改为 Float 在 shell 中

  • SERVER-32473在首次使用 shell 时加载历史记录文件时出错

  • SERVER-33140 mongodb srv URI 支持在 Windows 的 Shell v3.6.2 上断开

构建和包装

  • SERVER-32516无法使用 Boost 1.66 进行编译

  • SERVER-32580 Microbenchmarks:更新 mongo v3.6 的企业分支

  • SERVER-32649使用 GCC 7 时出现“需要标量的二手矢量类型”

  • SERVER-32932测试 SLES 12 软件包时,请确保存在所需的存储库

  • SERVER-33181将 ASIO 升级到最新版本

Internals

  • SERVER-21630将 resmoke 的 CheckReplDBHash 支持扩展到配置服务器和分片副本集

  • SERVER-28396 resmoke.py 的 LogkeeperClient 端应通过分割 POST 请求来遵守大小限制

  • SERVER-28822改进 DBConnectionPool 的增长语义

  • SERVER-31636将 generational_jstestfuzz * Evergeen 任务拆分为 query_fuzzer 和 update_fuzzer 任务

  • SERVER-31670更改由 copy_sets_jscore_passthrough 使用的副本集固定装置,以使其辅助节点具有零票

  • SERVER-31768不要在主排水分片上创建第一个收集块

  • SERVER-31886在 Windows 上运行的 Powercycle 任务

  • SERVER-31935从远程 EC2 实例存档感兴趣的核心转储过程

  • SERVER-31942不可靠的测试中的较大更改可能会阻止测试生命周期更新

  • SERVER-32060将 MMAPv1 电源重启任务移至 MMAPv1 特定变体

  • SERVER-32071 Powercycle-使用内部崩溃

  • SERVER-32074 Powercycle-在收到 SIGUSR1 或 Windows 事件时添加堆栈转储

  • SERVER-32090 Powercycle-pymongoClient 端 arg 被覆盖

  • SERVER-32107更新 DNS 根名称服务器以进行 DNS 查询测试

  • SERVER-32110 Powercycle 远程主机在 Evergreen 超时阶段无法访问

  • SERVER-32161 MongoDB 3.2 无法使用 glibc 2.26 在 PPC64LE 上编译

  • SERVER-32169用会话创建的游标不能在该会话外被杀死

  • SERVER-32197远程主机在 evergreen.yml 中缺少 hang_analyzer 的调试符号

  • SERVER-32203在 evergreen.yml 中检测到无法访问远程 EC2 实例状态时记录日志

  • SERVER-32205删除 Management 数据库会将 FCV 设置为 3.4,但保留 UUID

  • SERVER-32222 change_streams_primary_shard_unaware.js 需要标记为需要持久性

  • SERVER-32228 Powercycle-处理远程主机重启

  • SERVER-32243添加一个选项,以使 validate 钩子跳过某些集合。

  • SERVER-32260从 mongorepo 中调用 load_setup.py

  • SERVER-32298添加后台系统任务以定期复制 evergreen.yml 中的远程统计信息

  • SERVER-32299为远程 EC2 实例添加磁盘统计信息

  • SERVER-32376在 retryable_writes_jscore_stepdown_passthrough 套件中手动调用 startSession 的黑名单测试

  • SERVER-32403将远程 EC2 的过期时间增加到 3 小时

  • SERVER-32410在尝试执行身份验证之前验证 User :: CredentialData

  • SERVER-32414从皮棉中删除过时的 stdx ::要求。

  • 降级套件中的SERVER-32429黑名单 regex_targeting.js

  • SERVER-32468在非降级分片直通测试中使用 1 节点 CSRS

  • SERVER-32475 v3.6 上的微基准使用企业模块的主版本

  • SERVER-32486 Windows 版本的 Shell 程序应在 DNS 查找失败中报告失败的域名

  • SERVER-32515 Powercycle-rsync 文件排除列表

  • SERVER-32520添加 VPC 支持以启动 AWS EC2 实例

  • SERVER-32522 set_read_and_write_concerns.js 将 mapReduce“ out”字段视为聚合的$ out 阶段

  • SERVER-32527更新程序包测试以使用新的 BUILD2 VPC

  • SERVER-32541禁用 Powercycle MMAPv1 任务

  • SERVER-32551具有 x.509 成员身份验证的群集为 Client 端连接提供群集 Client 端证书

  • SERVER-32585从 ese.WT 测试的 requirements.txt 中删除不必要的依赖项

  • 测试组没有历史数据时,SERVER-32609 update_test_lifecycle 失败

  • SERVER-32614 update_test_lifecycle 可能会失败,因为 datetime.strptime()不是线程安全的

  • SERVER-32631指定–bind_ip localhost 导致错误“地址已在使用中”

  • SERVER-32664 Sys-perf 启用较低优先级的运行基准

  • SERVER-32680更新性能项目以使用较新的基准

  • SERVER-32691为 w =“ majority”创建直通,并设置了 2 节点副本以解决丢失的测试覆盖率

  • SERVER-32704 sys-perf:跳过验证 SERVER-32243 启用的操作日志

  • SERVER-32740在 system_perf.yml 中设置 bootstrap.ycsb_dir 和 bootstrap.workloads_dir

  • SERVER-32766 net.ipv6 的 net.bindIpAll 失败,并显示“监听:地址已在使用中,正在终止”

  • SERVER-32772 Evergreen 中的 dbtest 任务应写入任务目录

  • SERVER-32774确保 change_streams_secondary_reads 套件具有投票辅助功能

  • SERVER-32788更新“辅助性能” sysperf 测试以使用不投票的辅助

  • SERVER-32806重试 findAndModify 在查询前后映像 oplog 条目时不使用 oplogHack

  • SERVER-32891 mongodb_setup 和工作负载_setup 调用的系统性能更改 Sequences

  • SERVER-32896在 system_perf.yml 中上传 dsi-artifacts.yml

  • SERVER-32925 sys-perf 3.6 应该运行变更流测试

  • SERVER-32987将'uuid'库的内容移到'base'下

  • SERVER-33068 run_check_repl_dbhash.js 钩子退出而未在副本集上实际运行 dbhash

  • SERVER-33142在 system_perf.yml 中尝试禁用集群重用

  • SERVER-33147限制-j/num_jobs_available 用于高核心 ARM CI 服务器

  • SERVER-33158逻辑会话刷新批处理太大

  • SERVER-33219在 backup_restore * .js 测试中向 CRUDClient 端添加反压机制

  • SERVER-33236更新 perf.yml 以使用 git clone 的 ssh 形式

  • WT-2705高吞吐量高速缓存限制了许多线程化工作负载的延迟时间

  • WT-3074自动化测试以强调许多活动树木的迁离步行

  • WT-3133检测或跟踪长时间 await 的操作

  • WT-3295允许 LSM 合并到自定义数据源中

  • WT-3565测试并了解同一数据的混合时间戳/无时间戳用法

  • WT-3587删除 HAVE_VERBOSE 条件编译

  • WT-3597添加诊断检查,以检查是否按时间戳 Sequences 更新了相同的键

  • WT-3632增加如何配置缓存使用率设置的粒度

  • WT-3654修复 Windows 中基于常绿的警告

  • WT-3695格式无法报告滞留的缓存

  • WT-3716恢复 WT_VERB_TEMPORARY 详细标志。

  • WT-3720标志宏将标志强制转换为无符号值,从而隐藏警告。

  • WT-3725将统计信息添加到时间戳结构周围的锁中

  • WT-3732在表格上的游标打开时处理添加 WT 索引

  • WT-3734修正详细输出中未定义的行为

  • WT-3738审核内部会话分配会计

  • WT-3740争用页面脏字节递减。

  • 单个文件的WT-3750快速路径 fs_directory_list。

  • WT-3753在 Windows 上构建–enable-java

  • WT-3766后备扫描,以进行过时的更新

  • WT-3767避免后备实例化以加快读取速度

  • WT-3768后备优化:胎记

  • WT-3769修复了在反向游标中启用了特定删除模式和启用前缀压缩的错误

  • WT-3772热备份导致 WiredTigerPreplog 文件的增长不受控制

  • WT-3774增强 Python 后备测试以覆盖游标修改

  • WT-3775改进提交时间戳早于最早的时间戳错误消息

  • WT-3779使用 WT_CURSOR :: modify 添加对字符串格式的支持

  • WT-3780改善有关无效 WT_CURSOR :: modify 用法的错误消息

  • WT-3783修复事务隔离以使用正确的枚举

  • WT-3787 test_compact02 因驱逐压力而停止压实而失败

  • WT-3790从纪元调用将统计信息切换到 rdtsc

  • WT-3792 LSM 版本 1 元数据不兼容

  • WT-3793 WiredTiger 页面调试转储函数应解压缩整数键

  • WT-3794 Coverity 1383547 和皮棉

  • WT-3795运行跟踪软件的清理工作,减少了记录的写大小。

  • WT-3796如果事务提交失败,报告更好的错误消息

  • WT-3799已启用时间戳的测试/格式,引脚缓存已满

  • WT-3806确保 rdtsc 值及时向前移动

  • WT-3807 clang 静态分析更新

  • WT-3809修复与胎记有关的后备问题

  • WT-3810 wt_rdtsc 校准需要更长的时间并验证有效性

  • WT-3811添加基本功能以可视化操作跟踪

  • WT-3812调试页输出应处理复杂的键/值项。

  • WT-3816在后备表上启用前缀压缩

  • WT-3818 __rec_txn_read()代码 Sequences 清除

  • WT-3819 clang 静态分析改进

  • WT-3820为 Python 调试添加 WT_SESSION.breakpoint 方法。

  • WT-3822将 WiredTiger 版权更新为 2018

  • WT-3824 tsc_nsec_ratio 可以计算为零,并导致被零除的错误

  • WT-3825修正每单位时间的 CPU 滴答计算

  • WT-3826随机中止测试失败

  • WT-3827 test_compact02 失败

  • WT-3828 OS/X 上的__wt_process 数据参考链接错误

  • WT-3831 statlog 服务器路径比较中的未初始化缓冲区值

  • WT-3832修复程序 Shell 脚本警告消息

  • WT-3833测试/格式化 cache_minimum 值错误

  • WT-3835游标删除尝试返回不存在的键

  • WT-3840遇到数据损坏时转储更多信息

  • WT-3841修复 timestamp09 中的错误消息模式

  • WT-3842周五完整构建

  • WT-3844检查点可能会挂在不明确的页面上

  • WT-3845使用 GCC 5.4.0 的示例中的编译器警告

  • WT-3846完善操作跟踪可视化工具

  • WT-3847为准备好的 Transaction 添加存根 API

  • WT-3852在较早的时间戳提交时更新调试

  • WT-3853 LSM 版本 1 元数据不兼容

  • WT-3854从提交路径中删除写锁定,将旧条目保留在队列中

  • WT-3860 lint

3.6.2 Changelog

Security

SERVER-31625使用 LDAP 服务器查询组时,必须转义\ {}的内容

Sharding

  • SERVER-28992清理 mongos 写入命令执行

  • SERVER-31982 Shard 不会以多数 writeConcern 调用配置提交块迁移命令,也不会检查 writeConcern 错误。

  • SERVER-32202不要清除有关复制状态更改的缓存分片筛选信息

  • SERVER-32255分片本地本地集合中可能没有 UUID

  • SERVER-32480删除采用 StringData 的 CatalogCache 检索方法

  • SERVER-32529为碎片要求 replSet 破坏了可查询的备份

Replication

  • SERVER-30626删除拓扑协调器界面

  • SERVER-31267如果在 getMore 调用之间删除收集,CollectionCloner 会失败

  • 使用 updateLookup 在$ changeStream 中的SERVER-31684 QueryPlanKilled(超出操作时间限制)

  • SERVER-31749阐明制作临时唯一集合名称的原因

  • SERVER-32098禁止通过 applyOps 对待处理的集合进行操作

  • SERVER-32136 initial_sync_drop_collection.js 在重新启动节点后应 await 系统稳定

  • SERVER-32224禁用 initial_sync_drop_collection.js 中的链接

Aggregation

  • SERVER-32282聚合文本搜索返回文本得分,即使在分片集群中定位多个分片时也没有要求

  • SERVER-32430如果存在非简单的排序规则,DocumentSourceSort 会错误地对数组文档进行排序

Storage

Operations

SERVER-32396 mongo shell 无法使用 3.6 连接字符串 SRV 连接

构建和包装

  • SERVER-31875通过将-no_deduplicate 传递给链接器来修复 OS X 上的较长链接时间

  • SERVER-32415适用于 Compass 的 MongoDB msi 安装程序包含一个错字

Internals

  • SERVER-30538检查 PeriodicKillSecondaries 钩子中的 oplogTruncateAfterPoint 是否正确

  • SERVER-31972减少 toggle_feature_compatibility.js 工作负载的迭代次数

  • SERVER-31997为 CompatibleFirst 策略添加其他单元测试

  • SERVER-32091 Powercycle-删除 mongod.lock 文件以进行 MMAPV1 测试

  • SERVER-32145避免在清理 DocumentSourceCursor 的 PlanExecutor 之前丢掉锁

  • SERVER-32246 v3.6 上的 PID 文件权限使其无法使用 pid 文件进行监控

  • SERVER-32497在循环内隐式调用_retry_on_database_drop_pending.js 调用 tojson()

  • SERVER-32500在 Enterprise OS X 10.10 MMAPv1 构建器上禁用常绿分片任务

3.6.1 Changelog

Sharding

  • SERVER-29397将标记插入 config.tags 时,配置服务器上发生不变故障

  • SERVER-30226强制收件人分片在迁移提交后刷新其元数据

  • SERVER-30768如果使用的是 ExceededTimeLimit,则使用 maxTimeMS 进行的主查询会导致临时分片写入不可用

  • SERVER-31056删除 MetadataManager 之外 ScopedCollectionMetadata 的默认构造函数的所有用法

  • SERVER-31627 ShardingTest.checkUUIDsConsistentAcrossCluster 可能无法在 config.cache.collections 中看到集合

  • SERVER-31865配置服务器上的 setFCV 仅应为未删除的分片集合生成 UUID

  • SERVER-31984如果我们已记录了目标分片的丰富错误详细信息,但未将其返回给用户,则迁移将仅报告“数据传输错误”

  • SERVER-32043禁止用户在 config.transactions 中创建新索引

  • SERVER-32055提高多线程性能以进行可重试的写入

  • SERVER-32123为 clusterTime 启用符号范围优化

  • SERVER-32149 ShardingCatalogManager :: getDatabasesForShard 应该检查查询是否成功

  • SERVER-32372 Mongos 在大小大于 maxBsonObjectSize 的批量插入时崩溃

  • SERVER-32385 mongodb 中的“ CommandNotFound:无此命令”登录 3.6

Replication

  • SERVER-30457如果主要人员根据心跳赶上,则取消追赶接管

  • SERVER-31990回滚可能会中止较长的集合名称。

  • SERVER-32085 $ changeStream 报告未分片的集合的不正确 documentKey

  • SERVER-32114删除未使用的回滚代码

  • SERVER-32131 ChangeStreams lookup_post_image.js 测试做出的假设不会在辅助读取传递中成立

  • SERVER-32159修复 sync_tail.cpp 中的拼写错误 fillWriterVectorsAndLastestSessionRecords()

  • SERVER-32167在 read_committed_after_rollback.js 中的提交读取之前对 oldPrimary 进行第二次多数写入

  • SERVER-32178不要在最早的 oplog 条目上使用 IDL

Query

  • SERVER-31978添加不对分片的$ changeStream 的 mongod 执行 DocumentSourceCloseCursor 的不变量

  • SERVER-32046某些 NumberDecimals 的数组可以触发不变失败

  • SERVER-32109 $ rename 如果现有的“ to”字段具有相同的数值但类型不同,则不会更新值。

  • SERVER-32173在查询的“快照”选项中添加弃用警告

Write Operations

  • SERVER-8538弃用$ atomic/isolated 更新选项

  • SERVER-32048使用数字路径组件进行更新可能会导致无法创建索引条目

Aggregation

  • SERVER-31731测试 mongos 接受–timeZoneInfo 参数,并可以使用时区正确执行表达式

  • 数据库不存在时,在 mongos 上不返回SERVER-31885 changeStream 游标。

Storage

  • SERVER-31304删除 SnapshotName 类

  • SERVER-31906测试 applyOps 是否可以克隆 admin.system.version 并保留其 UUID

  • 如果 collMod 提供的 UUID 与指定集合的 UUID 不匹配,则SERVER-31952返回错误

  • SERVER-32022允许 enableMajorityReadConcern = false 起作用

  • SERVER-32118 applyOps 视图创建不应分配 UUID

  • SERVER-32226 oldest_timestamp 应该在初始同步期间跟踪上一次应用的时间

Operations

SERVER-29453禁止删除 featureCompatibilityVersion 文档

构建和包装

  • SERVER-32211 install_compass 在 OSX 上的经验需要改进

  • SERVER-32286从 Debian SystemD 服务文件中删除 Type = forking

Tools

TOOLS-1895 qa-dump-restore-archiveing oplog_rollover_test.js

Internals

  • SERVER-30770 system_perf.yml:使用新的 DSI 界面并清除

  • SERVER-31194添加带有降级的 retryable_writes_jscore_passthrough.yml 版本

  • SERVER-31225 mongod 进程在侦听连接之前分叉

  • SERVER-31660将 BSONObj 解析器带回 IDL 生成的命令

  • SERVER-31791 UUID 仅应在干净启动时添加到副本集的本地集合中

  • SERVER-31808 replSetInitiate()的 HostAndPort 不再找到 localhost 的主机名

  • SERVER-31845启用写入重试性的 WT 性能回归

  • 具有 UUID 且包含 op 的SERVER-31864 applyOps 命令必须要求精细权限

  • SERVER-32053说明 3.js 应 assert 其写入成功

  • SERVER-32073改善 list_local_sessions.js 发出的 signal

  • SERVER-32087运行 sys-perf 和 mongo-perf 故障的测试阶段应导致出现红色常绿框

  • SERVER-32105要求分片服务器和配置服务器以–replSet 或'replSetName'启动

  • SERVER-32106 txn oplog 条目的迁移会在辅助复制中触发 fassert

  • SERVER-32164 Shell SRV 实现不允许使用 TXTLogging 的 authSource

  • SERVER-32238还原错误的高错误代码

  • TOOLS-1688常绿测试在主机中损坏

  • TOOLS-1827实施初始 DNS 种子列表发现规范

  • TOOLS-1861 build.sh 脚本不会因错误而中止

  • TOOLS-1878 qa-tests-unstable force_table_scan.js

  • TOOLS-1880 qa-tests-unstable no_primary_error_code.js

  • TOOLS-1881 qa-tests-unstable no_sharded_secondary_reads.js

  • WT-3079确保所有树木都被逐出

  • WT-3776光标删除操作太早取消了页面固定

  • WT-3786有时间戳记的事务应阅读其写内容