4.4 Changelog

On this page本页内容

4.4.3 Changelog

Sharding

  • SERVER-48261 Unblacklist auth tests that use the ‘mixedShardTest’ helper
  • SERVER-48571 Write operation might invariant if a target error and a response error is received
  • SERVER-49713 Skip checking for orphaned documents in shard_removal_triggers_catalog_cache_invalidation.js
  • SERVER-51834 Race in moveChunk tests
  • SERVER-52686 Blacklist transactions_causal_consistency.js test from the sharding_csrs_continuous_config_stepdown
  • SERVER-53029 Port the changes for SERVER-52955 to later branches

Replication

  • SERVER-33747 Arbiter tries to start data replication if cannot find itself in config after restart
  • SERVER-49159 Return NotPrimaryOrSecondary if currentTime is uninitialized in waitForReadConcernImpl
  • SERVER-49187 Make ReplSetTest .stepUp() robust to election failures.
  • SERVER-50049 assert.soonNoExcept() should not access TestData.traceExceptions for non-resmoke tests.
  • SERVER-50416 Change notMasterLegacyUnacknowledgedWrites to notPrimaryLegacyUnacknowledgedWrites in serverStatus
  • SERVER-50417 Change notMasterUnacknowledgedWrites to notPrimaryUnacknowledgedWrites in serverStatus
  • SERVER-50901 RollbackTest should wait for secondaries before doing data consistency checks
  • SERVER-51261 Rename hangWaitingForIsMasterResponseOnStandalone to hangWaitingForHelloResponseOnStandalone
  • SERVER-51262 Rename skipCheckingForNotMasterInCommandDispatch to skipCheckingForHelloInCommandDispatch
  • SERVER-51333 setFeatureCompatibilityVersion should fail when downgrading from FCV 4.4 to FCV 4.2 with long collection names present
  • SERVER-52560 oplog_writes_only_permitted_on_standalone.js must wait for insert to be in stable checkpoint
  • SERVER-52680 Removed node on startup stuck in STARTUP2 after being re-added into the replica set
  • SERVER-53197 Awaitable hello/isMaster appears in slow query log, part 2

Query

  • SERVER-32960 $mod has inconsistent rounding/truncation behavior
  • SERVER-40361 Reduce memory footprint of plan cache entries
  • SERVER-48529 Delete unused PlanCache::feedback() mechanism
  • SERVER-49744 Per-document scoring metadata for $search
  • SERVER-49810 Stable result comparison for facet/use_cases.js
  • SERVER-52589 Index key consistency check during FETCH may fail in certain cases

Aggregation

  • SERVER-33966 redundant $sort in aggregation prevents best $limit $sort consolidation
  • SERVER-51886 $lookup + $merge pipeline may fail to resolve views correctly when collection names collide

Storage

  • SERVER-50502 The lock manager dump logv2 message needs logv2::LogTruncation::Disabled set so that lock dumps are not truncated
  • SERVER-51122 [v4.4] The snapshot window code must use TestingProctor consistently and not getTestCommandsEnabled
  • SERVER-51858 Investigate queryable issue on 4.0.20
  • SERVER-52950 recoverOplogAsStandalone mode must not start oplog truncater thread

Operations

  • SERVER-48221 Shut down ftdc after storage engine
  • SERVER-51603 add log message for failing validation via exception path
  • SERVER-51652 add better error handling for validate’s use of KeyString
  • SERVER-51757 Collect /proc/vmstat numa_pages_migrated statistics in FTDC
  • SERVER-51829 always show index-level corruption reasons in validate output

Build and Packaging

Internals

  • SERVER-47863 Initial Sync Progress Metrics
  • SERVER-49232 Confusing log message when fail point is activated
  • SERVER-50267 Set output limit for ‘rawMongoProgramOutput()’
  • SERVER-50271 Remove –logv2 from shell
  • SERVER-50445 Return the value as double when NumberLong subtraction overflows in ExpressionSubtract
  • SERVER-50547 Explore aggregation pipeline length limit
  • SERVER-51057 Test that getMore metrics are incremented in server_status_metrics.js
  • SERVER-51405 Disable some concurrency suites for ephemeralForTest on v4.4
  • SERVER-51454 operationProfiling.filter config option rejects agg expressions
  • SERVER-51526 Hybrid index builds can miss writes and crash in the event of a well-timed WriteConflictException
  • SERVER-51715 Wrap timestamps with tojson() in log lines in optime.js
  • SERVER-51718 Disallow sparse, hashed indexes from being considered for answering $exists: false queries.
  • SERVER-51733 config server in a docker container fails to start up with authentication
  • SERVER-51793 Speed up compile tasks generated by burn_in_tags by running them on rhel62-large
  • SERVER-51796 Missing comma in “Restoring orphaned data file” (22334) log message parameters
  • SERVER-51797 Add task_path_suffix to evergreen.yml
  • SERVER-51818 add name to invariant message in Mutex destructor
  • SERVER-52586 Disable refine_shard_key_transaction_stress task in sys-perf
  • SERVER-52625 linkbenches write to conventional location
  • SERVER-52646 Validate and possibly fix edge cases in regex rewrite rules for userToDNMapping
  • SERVER-52654 new signing keys not generated by the monitoring-keys-for-HMAC thread
  • SERVER-52666 ycsb is a module and writes to a convenitional location
  • SERVER-52746 Ensure tailable cursor in find_cmd.js is invalidated
  • SERVER-52775 Fix sys-perf module issues
  • SERVER-52806 deb install files assume systemd
  • SERVER-52824 Support AWS roles with paths
  • SERVER-52834 Migrate sys-perf and perf tasks to use the new run_workload DSI command
  • SERVER-52867 Make sure secondary has finished closing connections after being removed before sending new commands in awaitable_hello_on_nodes_with_invalid_configs.js
  • SERVER-52929 Correctly handle compound indexes with 32 keys
  • SERVER-52969 Disable Powercyle on non-master branches
  • SERVER-52975 Fix use of ‘onRollback’ callback for collection validator options in ‘collection_impl.cpp’
  • SERVER-52983 Assertions in initial_sync_replSetGetStatus.js have to account for batch sizes smaller than collectionClonerBatchSize
  • SERVER-53017 replSetGetStatus remainingInitialSyncEstimatedMillis always 0
  • SERVER-53058 Better account of CleanEveryN runtime when setting dynamic timeouts
  • SERVER-53068 Use 10gen/linkbench2 instead of mdcallag/linkbench for system perf
  • SERVER-53196 Fail to generate tasks if a large distro is specified but not available
  • SERVER-53314 Generated tasks can specify a null distro
  • SERVER-53323 Run concurrency_simultaneous_replication on large distro on Enterprise Windows (inMemory) buildvariant
  • WT-4780 Enable assertion that commit timestamp is newer than all readers
  • WT-6449 Hang analyzer for WT Evergreen tests
  • WT-6563 Create a reproducer for invalid modification application
  • WT-6678 Remove Huffman Encoding support for Keys
  • WT-6693 Add compatibility testing for imported objects
  • WT-6713 Remove transaction support from custom data sources
  • WT-6722 Review function names in history store module
  • WT-6750 Assert to ensure no duplicate entries in the history store
  • WT-6752 Assert history store will not have any uncommitted updates
  • WT-6753 Assert only stop time pair of history store update can be modified.
  • WT-6816 Design write gen scheme to allow dhandles with active history to get closed/re-opened
  • WT-6824 Fix OSX python test errors related to UTF encoding
  • WT-6828 Fix doc link in README
  • WT-6830 Encode bytes before concatenating with string
  • WT-6835 Add API to allow consolidating incremental backup info
  • WT-6836 Handle the last key in the shadow table being removed by rollback to stable in timestamp abort
  • WT-6839 Add API to query existing incremental backup IDs
  • WT-6842 Add example showing using src_id only
  • WT-6844 Make force stop durable
  • WT-6845 Set session btree to HS when operating on history store
  • WT-6860 Add relevant history store statistics to data handles
  • WT-6867 Documentation: create model subpages for architecture guide
  • WT-6868 Don’t cache history store cursor for operations on metadata
  • WT-6870 Rename history store statistic to better describe its use case.
  • WT-6872 Replace the yield instructions with an ISB
  • WT-6875 Remove legacy import invocation
  • WT-6882 Files created during incremental backup should be copied in full
  • WT-6883 Redo change for breaking up backup ranges and fix for EOF
  • WT-6916 Create stub subpages for architecture guide
  • WT-6922 Add random consolidate testing to incr_backup
  • WT-6925 Fix incorrect comment
  • WT-6934 Fix __wt_hs_upd_find wrongly returns WT_NOTFOUND
  • WT-6957 Reposition the cursor if __wt_hs_modify return WT_RESTART
  • WT-6958 Fix history store cursor position after operations
  • WT-6961 RTS no stable timestamp
  • WT-6986 Add UndoDB support to format.sh

4.4.2 Changelog

Security

  • SERVER-45938 Allow matching O/OU/DC in client x509 cert if clusterMode:keyFile
  • SERVER-47964 Add OCSP Sharding tests
  • SERVER-49826 Enable OCSP Stapling in RHEL / Centos 7.6 variants
  • SERVER-50065 Add OCSP tests for Certificate Rotation
  • SERVER-50463 Make PooledLDAPConnection::refresh take self-ownership

Sharding

  • SERVER-36739 Use the mongos_manual_intervention_action hook in concurrency stepdown suites
  • SERVER-47616 Improve error when logical sessions cannot have more than one user authenticated on a single connection
  • SERVER-48504 Combination of StaleShardVersion and ShardNotFound exception make the ChunkManagerTargeter crash
  • SERVER-48566 Shard loader in primary nodes blindly read the version of config.cache.collections
  • SERVER-48654 TransactionCoordinatorMetricsTest should install mock tick source before starting WaitForMajorityService
  • SERVER-48699 MaxTimeMS may expire in range_deleter_interacts_correctly_with_refine_shard_key.js test before _configsvrMoveChunk command started
  • SERVER-49019 refineShardKey can hit getLastError invariant during stepdown
  • SERVER-50451 range_deleter_shutdown_and_failover_during_set_fcv.js should retry setFCV against mongos until success to handle slow elections
  • SERVER-50470 Make persistParticipantsList convert TransactionCoordinatorReachedAbortDecision to NoSuchTransaction
  • SERVER-50545 Retry on ConflictingOperationInProgress in index_operations_abort_concurrent_outgoing_migrations.js
  • SERVER-50750 Refining shard key to include nested field causes “Error refreshing cached collection” on shard primaries
  • SERVER-50795 Extracting forceJumbo from docs in config.migrations in MigrationType::fromBSON can throw
  • SERVER-50900 Disable PeriodicShardedIndexConsistencyChecker for cursor_valid_after_shard_stepdown.js
  • SERVER-51673 Fix test case in transaction_coordinator_test to shut down AsyncWorkScheduler before attempting to persist decision

Replication

  • SERVER-46930 AutoGetOplog doesn’t acquire collection IX lock correctly for non-document-locking engines
  • SERVER-48600 RefineCollectionShardKey does not check for transaction write concern errors
  • SERVER-48928 Allow primary-elect to complete drain mode even if it is stepping down unconditionally
  • SERVER-49462 Wait for secondaries to be ready in ReplSetTest.checkOplogs
  • SERVER-49730 Replace usages of waitForDrainFinish
  • SERVER-49986 Convert isMaster command to hello and add aliases
  • SERVER-49987 Rename response fields if “hello” is sent on mongod
  • SERVER-49988 Rename response fields if “hello” is sent on mongos
  • SERVER-49989 Add db.hello() shell helper
  • SERVER-50083 reconfig kill primary and stepdown passthroughs should disable election handoff
  • SERVER-50097 inaccurate exhaustIsMasterMetrics if an isMaster command alias is used
  • SERVER-50103 DBClientCursor doesn’t set a socket timeout when using a side connection to send the kill cursor request
  • SERVER-50116 Forbid oplog writes when replication is enabled
  • SERVER-50320 Fix cancellation races in initial syncer
  • SERVER-50405 Alias isMaster in mongocryptd and attach appropriate response field
  • SERVER-50407 Alias isMaster in mongotmock and attach appropriate response field
  • SERVER-50408 Change NotMaster ErrorCode name to NotWritablePrimary
  • SERVER-50409 Change NotMasterNoSlaveOk ErrorCode to NotPrimaryNoSecondaryOk
  • SERVER-50410 Change NotMasterOrSecondary ErrorCode name to NotPrimaryOrSecondary
  • SERVER-50411 Change NoConfigMaster ErrorCode name to NoConfigPrimary
  • SERVER-50415 Rename waitInIsMaster failpoint to waitInHello
  • SERVER-50418 Add exhaustHello to serverStatus
  • SERVER-50447 fix ticket dependency in backports_required_for_multiversion_tests.yml for ismaster.js
  • SERVER-50527 Change NotMasterError category to NotPrimaryError
  • SERVER-50607 Must hold mutex when calling _checkForShutdownAndConvertStatus_inlock
  • SERVER-50626 Race in read_concern_majority_getmore_secondaries.js
  • SERVER-50640 listCommands should return “isMaster” alias in addition to “hello” command name
  • SERVER-50869 Background sync may erroneously set applied-through during step-up
  • SERVER-51047 standalone_replication_recovery_relaxes_index_constaints.js should not run in replica_sets_multiversion in 4.4
  • SERVER-51163 Mark nodes returning InvalidReplicaSetConfig in heartbeats as down
  • SERVER-51259 Rename waitForIsMasterResponse to waitForHelloResponse
  • SERVER-51260 Rename hangWhileWaitingForIsMasterResponse to hangWhileWaitingForHelloResponse
  • SERVER-51597 Don’t try to cleanly shut down initial syncer when config changes
  • SERVER-51726 Maintain status code compatibility when main executor is shut down

Query

  • SERVER-47469 applyOps does not take exclusive lock for views operation
  • SERVER-48128 mapreduce and aggregation with output don’t work on rs to cluster upgrade
  • SERVER-48617 Concurrent ‘createIndexes’ can block all write operations on a primary and standalone by exhausting write tickets.
  • SERVER-50028 Coverity analysis defect 114771: Dereference after null check
  • SERVER-50029 Coverity analysis defect 115663: Uninitialized scalar variable
  • SERVER-50291 Add query knob to enumerate $or children in a different order
  • SERVER-51120 Find queries with SORT_MERGE incorrectly sort the results when the collation is specified
  • SERVER-51853 Always initialize the numInserted out-parameter in AbstractIndexAccessMethod::insertKeys

Write Operations

  • SERVER-44586 add metrics to serverStatus to track type of update command
  • SERVER-49154 Add a regression test to ensure setting FCV to 4.2 disables collection/index creation

Aggregation

  • SERVER-30405 add expression to generate a random number
  • SERVER-40317 $facet execution has no limit on how much memory it can consume
  • SERVER-48390 group with $accumulator complains memory exceeds 100MBs on smaller than 96MBs collection
  • SERVER-48523 Unconditionally check the first entry in the oplog when attempting to resume a change stream
  • SERVER-49469 explain executionStats for $unionWith incorrectly shows COLLSCAN for inner pipeline

Catalog

SERVER-50030 Coverity analysis defect 115212: Wrong operator used

Storage

  • SERVER-43664 Speedup WiredTiger storage engine startup for many tables by optimizing WiredTigerUtil::setTableLogging()
  • SERVER-47681 Background validation uses the kNoOverlap read source instead of kAllDurableSnapshot to prevent us from having to take the PBWM lock on secondaries
  • SERVER-47803 Move the database level profile setting from Database into CollectionCatalog
  • SERVER-47812 Secondaries persist wildcard multikeypaths out of order
  • SERVER-47959 Retry JournalFlusher oplog reads on WriteConflictExceptions caused by concurrent {full:true} validate command on the oplog collection
  • SERVER-48021 Add WT debug table logging mode to *kill_(primary|secondary)* tests
  • SERVER-48154 ident dropper should periodically yield Global IS lock
  • SERVER-48245 index drop allowed on drop-pending collection
  • SERVER-49776 Forward port MDB <-> WT versioning table from 4.2 to 4.4 and master, please
  • SERVER-50045 JournalFlusher can interrupt write concern with ShutdownInProgress during rollback
  • SERVER-50586 Collection validation should append the collection’s namespace to the output before any exceptions can be thrown
  • SERVER-51302 Override read timestamp check for refreshTransaction

Operations

  • SERVER-26726 Check number of arguments for createIndex() and throw error if more than two arguments
  • SERVER-46189 shell hang with message “Missing ssl modes with a single replica set is disallowed
  • SERVER-48244 Shell should not hard-code the allowed explain levels and let the server reject it instead
  • SERVER-49320 No error message produced if log file can’t be created
  • SERVER-50270 shell should require a password for AWS auth
  • SERVER-50491 Frequent schema changes due to freeStorageSize limit FTDC retention

Build and Packaging

  • SERVER-23668 scons abbreviated options do not work properly
  • SERVER-43903 All compile tasks should upload the config log and the cache log
  • SERVER-47355 Hardcoded path of dist-test/bin must not be included in aws_e2e_ecs.js
  • SERVER-47943 Explicitly error if ICECC or CCACHE are specified but fail to load
  • SERVER-48282 Platform Support: Add Community & Enterprise RHEL 8 ARM
  • SERVER-50016 Fail on missing variable customization files
  • SERVER-50091 Enable SCons cache for ARM64 builders
  • SERVER-50125 UBSAN with ccache doesn’t always respect -fsanitize-blacklist options
  • SERVER-50363 Promote –build-tools=next to stable
  • SERVER-50648 RHEL 8.2 ARM builder’s publish_packages task should not run on an ARM host.
  • SERVER-50674 Darwin –separate-debug tool should not strip with the x flag

Internals

  • SERVER-34484 IDL targets don’t work right on external build paths.
  • SERVER-35649 Nodes removed due to isSelf failure should re-attempt to find themselves
  • SERVER-38289 Teach SCons about .idl files
  • SERVER-39562 Repair should handle duplicate unique index keys
  • SERVER-43491 Specify that jstest only guarantees consistent behavior against mongod (not mongos)
  • SERVER-45626 Consistent Oplog Locking Rules
  • SERVER-45992 InMemory engine startupwarnings confusing
  • SERVER-46275 Add support for ECDSA w/OCSP to cert gen tool
  • SERVER-46321 Update man pages
  • SERVER-46625 Improve diagnostics when mongocryptd requests are sent to non-mongocryptd daemon
  • SERVER-46798 remove VersionInfoInterface::isSameMajorVersion
  • SERVER-47375 Complete TODO listed in SERVER-45798
  • SERVER-47827 Request for a local burn_in_tests.py that locally runs all tests changed since master, including those committed in the local branch
  • SERVER-48030 Fix deadlock with GetShardMap and old RSM
  • SERVER-48067 Reduce memory consumption for unique index builds with large numbers of non-unique keys
  • SERVER-48170 Multiversion tests assume primary stability when using upgradeCluster() with 2-node replica set shards
  • SERVER-48324 Expose parameter to include tcmalloc verbose statistics in ftdc
  • SERVER-48334 Index builds can fail in debug builds with unhandled WriteConflictException
  • SERVER-48410 Signed integer overflow fix for datetime library
  • SERVER-48452 Internal readers should default to reading without a timestamp
  • SERVER-48474 Add $sampleRate match expression
  • SERVER-48705 resmoke.py sending SIGABRT to take core dumps on fixture teardown may overwrite core files from hang analyzer
  • SERVER-48742 Log whenever profiler settings are changed via setProfilingLevel
  • SERVER-48884 Test Proctor Initializer has incorrect prereqs
  • SERVER-48946 Remove the Biggie evergreen variant in the v4.4 branch
  • SERVER-48949 missed logv2 cleanup in snapshot_window_util.cpp in 4.4
  • SERVER-49102 Accept a filter expression as an alternative to slowMS/sampleRate
  • SERVER-49165 endSessions command in Client.Disconnect causes an authorization failure for an unauthed connection on a host that requires authentication
  • SERVER-49396 Only activate skipWriteConflictRetries failpoint for user connections
  • SERVER-49402 Misleading error message when connecting to Data Lake
  • SERVER-49507 Reduce memory consumption in startup repair when rebuilding unique indexes with a large number of duplicate records
  • SERVER-49766 Indexed and non-indexed collections return different results for null query
  • SERVER-49857 ASAN Ubuntu 18.04 build variant did not symbolize its output
  • SERVER-49926 [4.4] collMod should not accept “recordPreImages: false” option in FCV 4.2
  • SERVER-49957 Read out of bounds in getPrevAndNextUUIDs
  • SERVER-50010 Mongodb build should have specific ninja REGENERATE rule
  • SERVER-50051 Make jstests/multiversion/hashed_index_bad_keys_cleanup.js more robust
  • SERVER-50072 Check _isWindows() when initializing MongoRunner.EXIT_ABORT
  • SERVER-50123 Record number of physical cores on all platforms
  • SERVER-50134 Run microbenchmarks tests through DSI
  • SERVER-50148 Fix use-after-move in MultiIndexBlock
  • SERVER-50242 slow query message seen in mongos for ismaster
  • SERVER-50246 $unionWith explain loses information from any stages in sub-pipeline which get absorbed into cursor stage
  • SERVER-50249 Upgrade via package manager from 4.2.8 to 4.4.0
  • SERVER-50326 Restrict sharding in agg_out.js workload to a single thread
  • SERVER-50365 Stuck with long-running transactions that can’t be timed out
  • SERVER-50376 Ninja next does not see compiler changes
  • SERVER-50379 Reduce frequency of ! and * builders on 4.4
  • SERVER-50394 mongod audit log attributes DDL operations to the __system user in a sharded environment
  • SERVER-50401 Handle patches applied as commits
  • SERVER-50490 Reduce log severity of SERVER RESTARTED from Warning(-2) back to Log(0)
  • SERVER-50530 archive-mh targets not building on windows
  • SERVER-50605 Add {logMessage: “msg”} test-only command
  • SERVER-50635 Index consistency check at end of sharding tests isn’t robust to ShardNotFound
  • SERVER-50690 Add option to specify bind ip to ocsp mock
  • SERVER-50736 Make OpenSSL explicitly accept SNIs presented in ClientHello
  • SERVER-50818 Coverity analysis defect 114987: Wrapper object use after free
  • SERVER-50852 BF Day - Hang analyzer’s “interesting processes” pattern for C++ unit tests doesn’t match db_unittests
  • SERVER-50866 systemd unit mongod.service should use “After=network-online.target”
  • SERVER-50895 $unionWith cached pipeline for explain is leaked if execution does not require sub-pipeline
  • SERVER-50913 Teardown config server last in sharded cluster
  • SERVER-50955 oplog_rollover.js pauses the OplogCapMaintainerThread until truncation is needed
  • SERVER-51041 Throttle starting transactions for secondary reads
  • SERVER-51045 [v4.4] Update blocklist pending 4.2 backport for SERVER-46625
  • SERVER-51097 unittests ran for more than an hour, stalling the commit queue
  • SERVER-51106 Make the isMaster command a derived class of hello
  • SERVER-51194 Make evergreen tasks for build-tools next
  • SERVER-51220 Handle auditing attribution in indirect drops
  • SERVER-51242 Disable canaries in microbenchmarks DSI tasks
  • SERVER-51303 Lookup stage followed by $match on type uses wrong field in matching condition
  • SERVER-51384 Enable and Fix Compile for Drivers Nightly Testing 4.4
  • SERVER-51467 Set waitUntilStable to true when upgrading clusters in change_streams_multiversion_cluster.js
  • SERVER-51604 Evergreen compile task should fail if debug symbols upload fails
  • SERVER-51607 Upgrade Twisted dependency to at least twisted-19.7.0
  • SERVER-51685 Fix download of MongoDB 4.4.1 for multiversion testing on the 4.4 branch
  • SERVER-51771 libunwind fails to build with GCC >=10.2
  • SERVER-52617 Cache the pointer to the oplog collection before running recoverToOplogTimestamp
  • SERVER-52696 Add sysbench to system_perf.yml modules
  • SERVER-52697 Add tpcc to system_perf.yml modules
  • WT-4310 Add option to not abort in diagnostic builds on data corruption
  • WT-5144 Use wt_clock instead of wt_epoch in perf programs
  • WT-5585 Remove cache_overflow config option
  • WT-5645 Add Evergreen test that cycles through known failure test/format configs
  • WT-5691 Handle scenario where imported files have write generations ahead of current DB
  • WT-5693 Enable test_wt4105_large_doc_small_upd
  • WT-6000 Enhance incremental backup testing in format to support restart
  • WT-6006 Revert test binaries to 10 in checkpoint-stress-test
  • WT-6027 Fix docs spelling errors and warnings
  • WT-6181 Have Python Evergreen tests print standard output on failure
  • WT-6263 Reenable history store verification
  • WT-6277 Compatibility tests verify failure in timestamp validation
  • WT-6322 Split full compatibility tests into smaller groups
  • WT-6390 Extend compact02 timeout from 8 => 10 minutes
  • WT-6404 Add timing stress that delays checkpoint after it calls __wt_txn_begin
  • WT-6410 Remove WT_SESSION.rebalance
  • WT-6427 Always set stable timestamp when setting oldest timestamp
  • WT-6446 Rename *.i files into *_inline.h files
  • WT-6451 Do not evict clean metadata pages if needed for historic reads
  • WT-6463 History store operations should honor cache size
  • WT-6467 Fix history store verification
  • WT-6471 Avoid the error message for non-existent clang-format binary
  • WT-6472 Update timestamp_abort test cache configuration
  • WT-6478 Cursor cache statistics not getting incremented
  • WT-6490 Acquire snapshot for eviction threads
  • WT-6505 Add debugging for missing file failure
  • WT-6507 Exit cache eviction worker after our operation has timed out
  • WT-6526 Fix assertion failure when opening DB in readonly mode after unclean shutdown
  • WT-6532 Consider update structure overhead in split length calculation
  • WT-6544 Onpage value not appended to the tombstone restored from the data or history store
  • WT-6546 Update fast truncate to use newest start durable ts
  • WT-6556 Fix internal sessions to use internal session close function than public API to avoid memory leak
  • WT-6559 Use the session id from the new session to determine statistics bucket
  • WT-6560 Fix usage of global salvage in WT utility
  • WT-6561 Provide MongoDB configuration in the wt utility usage output
  • WT-6569 Squash the prepared updates into a single update before writing it to data store
  • WT-6570 RTS to remove the left over updates in the history store without stop timestamp
  • WT-6571 Lseek cannot use error_sys_check because it does not return an int
  • WT-6577 History store dump outputs confusing time window
  • WT-6581 Fix class name in test_hs15
  • WT-6583 Only clear the read timestamp when releasing the transaction
  • WT-6586 Tombstone inserted to history store should also be flagged as WT_UPDATE_HS
  • WT-6589 Fix disabled cursor cache python tests
  • WT-6591 Stop checkpoint thread before closing connection in Python tests
  • WT-6592 Avoid marking errors for skipped Python tests due to not-built extension
  • WT-6593 Retry conflicting operations in test_rollback_to_stable10
  • WT-6596 Increase cache for timestamp abort test and separate key spaces for all abort tests
  • WT-6598 Add new API allowing changing dhandle hash bucket size
  • WT-6602 Allow operation timeout ms to be passed to commit and rollback
  • WT-6604 Fix typo in the comment descibing WT_CELL structure
  • WT-6610 Fix incremental backup checkpoint parsing to handle upgrades
  • WT-6612 Increase cache size in test_prepare08 to fix rollback error due to cache pressure
  • WT-6613 Add python test for early_load flag
  • WT-6615 Initialize last_upd where it is actually used
  • WT-6616 Set the oldest timestamp of the checkpoint when it is finished
  • WT-6619 Eliminate possibility of infinite loop in test_cursor13.py
  • WT-6624 Use transaction snapshot for applications performing eviction
  • WT-6625 Remove outdated TODO
  • WT-6629 Support index tables in metadata:create cursors
  • WT-6635 Disable mix and column filetype test
  • WT-6640 Coverity: Failure to restore saved dhandle
  • WT-6641 Coverity: Unused value
  • WT-6643 Explicitly set the 64-bit uint part of the LSN for atomic assignment
  • WT-6649 Coverity: Unintentional integer overflow in __wt_rec_need_split
  • WT-6650 Coverity: Null dereferences in session::close
  • WT-6653 Rollback/Restart txn before retry in RTS test
  • WT-6654 Clean up test_backup15.py
  • WT-6657 Fix history store panic when inserting an update without timestamp
  • WT-6666 Start op timer when we configure it in rollback and commit
  • WT-6670 Fix uninitialized buffer
  • WT-6671 Save the checkpoint snapshot that is used to take checkpoint in the metadata
  • WT-6674 Remove Async API code and documentation
  • WT-6675 Remove WiredTiger Java language API and documentation
  • WT-6680 Temporarily disable history store verification
  • WT-6683 Fix logically dead code
  • WT-6685 Add import configuration option to WT_SESSION::create
  • WT-6689 Add support for file import when the exported configuration is provided
  • WT-6690 Add support for table import when the exported configuration is provided
  • WT-6691 Add file import repair functionality
  • WT-6692 Handle scenario where imported timestamps are newer than current DB’s timestamps
  • WT-6708 Repurpose oldest start txn to be newest txn in the aggregated time window
  • WT-6712 Allow RTS to operate when stable timestamp is not set
  • WT-6720 Add new hs open() and close() methods
  • WT-6725 Skip checking visibility for updates restored from disk
  • WT-6731 Prevent WT_RESTART from being returned to API calls
  • WT-6732 Fix post-task command noises in Evergreen task logs
  • WT-6734 Add missing brace to Swig Java interface
  • WT-6736 Add statistics to track evictions in parallel with checkpoint
  • WT-6741 Add check for supported data source on import
  • WT-6746 Save base write gen in metadata during checkpoint
  • WT-6756 Rearrange top level of documentation
  • WT-6761 Ignore stdout for test_rollback_to_stable10
  • WT-6762 Use stats instead of files to check consumption
  • WT-6763 Fix freeing update on the chain when insert fail after inserting to the update chain
  • WT-6764 Wait for stable timestamp to move before publishing checkpoint information in timestamp abort test
  • WT-6765 Add more debugging and earlier detection of missing file
  • WT-6767 Adding a new read timestamp config that allows it to be set older than the oldest timestamp
  • WT-6783 Generate unique keys for table to ensure log records
  • WT-6792 Update compatibility tests to test against mongodb-5.0 branch
  • WT-6793 Organize code statistics Evergreen tasks
  • WT-6797 Ensure minimum entries before short-circuiting
  • WT-6798 Utilize Arm LSE atomics and the correct strength barriers
  • WT-6806 Back off aggressive abort in random_directio
  • WT-6808 Documentation: add top level architecture picture
  • WT-6809 Avoid deadlock by moving hs cursor caching earlier
  • WT-6811 Allow older readers to read behind a mixed-mode operation
  • WT-6812 Fix “out-of-order fixup” potentially corrupting historical values
  • WT-6813 Fix memory leak in schema_create
  • WT-6822 Use the correct python for all tests and set up env for the split stress test
  • WT-6827 Run scons check examples in sequence not parallel

4.4.1 Changelog

Security

  • SERVER-47733 SymmetricEncryptorWindows shouldn’t pad when update is called
  • SERVER-49339 Rename ocspValidationRefreshPeriodSecs to ocspStaplingRefreshPeriodSecs
  • SERVER-49383 Assert that Host header is present in OCSP responder

Sharding

  • SERVER-43938 Make auth_sharding_cmd_metadata.js start shards as replica sets
  • SERVER-46811 multi=true updates can modify the shard key of orphan documents and cause them to become owned
  • SERVER-47753 Enable random_moveChunk_index_operations.js in stepdown concurrency suites
  • SERVER-47900 Disable checkOrphansDeleted helper in 4.4 multiversion testing
  • SERVER-48066 Don’t allow update shard key concurrency test to update shard key to same value
  • SERVER-48096 PeriodicShardedIndexConsistencyChecker thread on jstests can cause unintended shard refreshes
  • SERVER-48229 Shutdown PeriodicShardedIndexConsistencyChecker after ReplicationCoordinator so no thread will try to pause the job after it has stopped
  • SERVER-48341 Remove requires_fcv_46 from tests blacklisted under SERVER-48307 after backporting SERVER-48307 to 4.4.
  • SERVER-48365 Migration manager recovery should handle a refined shard key
  • SERVER-48531 3 way deadlock can happen between chunk splitter, prepared transactions and stepdown thread.
  • SERVER-48556 random_moveChunk_broadcast_delete_transaction.js should treat an stepdown error while waiting for a range deletion task to complete as an acceptable moveChunk error
  • SERVER-48601 ChunkSplitter should use the same chunk bounds for splitVector and splitChunk
  • SERVER-48641 Deadlock due to the MigrationDestinationManager waiting for write concern with the session checked-out
  • SERVER-48679 flushRoutingTableCacheUpdates should block on critical section with kWrite, not kRead
  • SERVER-48689 MigrationDestinationManager waits for thread to join with session checked out
  • SERVER-48699 MaxTimeMS may expire in range_deleter_interacts_correctly_with_refine_shard_key.js test before _configsvrMoveChunk command started
  • SERVER-48929 The moveChunk helper needs to ignore LockTimeout errors
  • SERVER-49044 Make AsyncRequestSender not retry remote command requests with startTransaction=true
  • SERVER-49085 Add MovePrimaryInProgress error code
  • SERVER-49086 Fail with MovePrimaryInProgress error in insert, update and delete commands
  • SERVER-49087 Add support for testing MovePrimaryInProgress
  • SERVER-49088 Fail with MovePrimaryInProgress on findAndModify command
  • SERVER-49089 Fail with MovePrimaryInProgress on mapReduce command
  • SERVER-49091 Fail with MovePrimaryInProgress error in create, collMod, drop, and renameCollection commands
  • SERVER-49092 Fail with MovePrimaryInProgress error in createIndexes and dropIndexes commands
  • SERVER-49311 PeriodicShardedIndexConsistencyChecker might cause failures on stale_mongos_and_restarted_shards_agree_on_shard_version.js
  • SERVER-49433 Stop incrementing the collection major version on chunk splits
  • SERVER-49452 Fail with MovePrimaryInProgress error in collMod command
  • SERVER-49546 setFCV to 4.4 should insert range deletion tasks in batches rather than one at a time
  • SERVER-49699 waitForCurOpByFailPoint shouldn’t ignore filter parameter in 4.4
  • SERVER-49715 Check for interrupt while finding unowned ranges on setFCV to 4.4
  • SERVER-49734 The call to Balancer::initiateBalancer() on step up should be asynchronous
  • SERVER-49765 Fail with MovePrimaryInProgress for dropIndexes command
  • SERVER-49809 View definition can be lost if the view is created during movePrimary

Replication

  • SERVER-39621 Disabled chaining should enforce sync source change when the primary steps down even if the oplog fetcher isn’t killed on sync source
  • SERVER-47263 Inaccurate log message when losing dry run election
  • SERVER-47612 Elections not robust in remove_newly_added_field_after_finishing_initial_sync.js
  • SERVER-47645 Must invalidate all sessions on step down
  • SERVER-47849 Add more logging to shutdownTask
  • SERVER-48525 Forbid dropping config.transactions when there are prepared transactions
  • SERVER-48712 Race in write_concern_after_stepdown.js
  • SERVER-48776 Remove config version and term check during the reconfig quorum check
  • SERVER-48967 Prevent replicated writes on empty namespaces on secondaries
  • SERVER-48975 Increase isSelf logging verbosity
  • SERVER-48979 Race between config propagation and election in change_stream_stepdown.js
  • SERVER-49676 Coverity analysis defect 115809: Uninitialized scalar field
  • SERVER-49683 catchup_takeover_two_nodes_ahead.js should use initiateWithHighElectionTimeout() to prevent spurious elections
  • SERVER-49924 Forward-port SERVER-49527 to master branch
  • SERVER-49990 Alias setSlaveOk() and getSlaveOk() shell helpers
  • SERVER-49991 Alias printSlaveReplicationInfo() shell helper
  • SERVER-50039 Timing error in dbadmin.js test
  • SERVER-50063 Oplog fetcher can return network errors or CallbackCanceled when shutting down
  • SERVER-50140 Initial sync cannot survive unclean restart of the sync source
  • SERVER-50325 Allow additional error code in no_writes_to_config_transactions_with_prepared_transaction.js

Query

  • SERVER-39392 Invariant in PlanStage::dispose always evaluates as true
  • SERVER-48442 Fix change_streams.js to test events in any order
  • SERVER-48950 Enhance explain for $search to expose stats from mongot
  • SERVER-48993 explodeForSort can produce incorrect query plan
  • SERVER-49010 Increase log verbosity in index_stepdown_after_init.js
  • SERVER-49389 Index build initialized message logged more often than expected
  • SERVER-49514 ‘index_abort_before_commit_signal.js’ should check for the ‘IndexBuildAborted’ error code
  • SERVER-49530 fix final index build phase for oplog recovery as a standalone mode

Storage

  • SERVER-48658 The TTL monitor should not log at “E” level for QueryPlanKilled
  • SERVER-49415 create_new_indexes_with_conflict.js hangs intermittently due to unreliable log line checking
  • SERVER-49521 fix tests in core/txn to use write concern “majority” for createIndexes commands run before starting transactions
  • SERVER-49556 fix index build in fsm_workloads/indexed_insert_base.js index setup to work with multi-document transactions
  • SERVER-49949 Reconstructing prepared transactions containing multi-key writes crashes the initial syncing node.
  • SERVER-50137 MongoDB crashes with Invariant failure due to oplog entries generated in 3.4

Operations

  • SERVER-45260 shell helpers in shell_utils_launcher.cpp shouldn’t use verify()
  • SERVER-47697 Make logger:: typedefs to logv2::LogSeverity, logv2::LogComponent, etc
  • SERVER-47698 LogSeverity constexpr
  • SERVER-47736 Bring LogSeverityLimiter from logger/ to logv2/

Build and Packaging

  • SERVER-45930 Make mongodb community depend on the tools in homebrew
  • SERVER-47138 MSI installer produces incorrect config file
  • SERVER-48041 Tell icecream about sanitizer blacklist files
  • SERVER-48443 Compilation errors with GCC and ICECC 1.2+
  • SERVER-48885 Pathsplit bug in build.ninja generated file with PATH components containing spaces
  • SERVER-48966 Ninja generator does not emit dependencies on template inputs
  • SERVER-49036 the compile_commands.json produced by ninja is incomplete.
  • SERVER-49395 Cannot run unittest suite locally (regression)
  • SERVER-49466 Introduce a –build-tools=next flag to subsume –ninja=next
  • SERVER-49493 Track SCons files for regeneration via a deps file
  • SERVER-49932 MSI build process obtains files via paths into the build directory
  • SERVER-50078 Compile bypass applied when it should not have

Internals

  • SERVER-25548 resmoke should not continue after a shell crash
  • SERVER-43490 Validate if we can perform TODO listed in SERVER-38686
  • SERVER-46726 Provide separate setParameter to disable diagnostic work
  • SERVER-46842 resmoke.py shouldn’t run data consistency checks in stepdown suites if a process has crashed
  • SERVER-47518 mitigate dtor-order fiasco with a utility for defining static duration immortal objects
  • SERVER-47598 locally installed mongodbtoolchains can affect remote icecream builds
  • SERVER-47604 Don’t log “Index build failed” if it continues in the background due to a stepDown
  • SERVER-47639 Fix race with async getHosts request and concurrent topology change
  • SERVER-47775 LOGV2_FATAL failed to print stack trace
  • SERVER-47892 DiagnosticInfo for latches doesn’t integrate well with unit-tests which create and destroy ServiceContexts
  • SERVER-47933 logv2: detect attribute collisions
  • SERVER-48048 Use resmoke tag files for multiversion blacklisting
  • SERVER-48107 Retry replSetStepDown in rollback_test.js
  • SERVER-48178 Finding self in reconfig may be interrupted by closing connections due to rollback
  • SERVER-48204 Improve assertions in mirror_reads.js
  • SERVER-48339 Ensure operation is hung on failpoint in unionWith_current_op.js
  • SERVER-48506 Throw MaxTimeMSExpired instead of FailedToSatisfyReadPreference when RSM deadline is less than max
  • SERVER-48572 random_moveChunk_refine_collection_shard_key.js needs to ignore LockTimeout errors from moveChunk
  • SERVER-48709 signing key generator thread on config server not waken up as expected
  • SERVER-48901 Have a client observer destroy ClientOutOfLineExecutor
  • SERVER-48952 logv2 cleanup for src/mongo/util/stacktrace_posix.cpp
  • SERVER-48965 Make update_and_bulk_insert.js less heavy
  • SERVER-48982 Respond to heartbeats until reconfig thread finishes in StepdownShouldInterruptConfigWrite
  • SERVER-49007 Roundtrip registration id in metrics response in mock_http_server.py
  • SERVER-49016 Ninja build reporting “no such file: /proc/cpuinfo”
  • SERVER-49026 pseudo_commands.js can kill operation with opId ‘1234’ mistakenly
  • SERVER-49054 Server MSI should install Compass instead of Compass Community
  • SERVER-49090 Fail with MovePrimaryInProgress error in aggregate command
  • SERVER-49097 sys-perf builds differ from release builds
  • SERVER-49126 Allow NetworkInterfaceIntegrationTest to be an internalClient
  • SERVER-49335 publish_packages should use barque API key
  • SERVER-49404 Enforce additional checks in $arrayToObject
  • SERVER-49417 sessionId use in “connection accepted” server log
  • SERVER-49432 Avoid read-after-delete in ServiceExecutorSync shutdown
  • SERVER-49438 Allow memory.js tests to accept $where timeout interruption
  • SERVER-49457 Ninja mongod build failing with duplicate symbol linker error
  • SERVER-49476 Disable ldap_authz_bind on Ubuntu 18.04 and 20.04
  • SERVER-49523 ‘commit_quorum_does_not_hang_with_initial_sync.js’ can fail if the primary can’t see a majority of the replica set
  • SERVER-49690 Retry “CappedPositionLost” when searching for old oplog entries
  • SERVER-49693 Represent replicaSetPingTimeMillis in floating point
  • SERVER-49694 On a sharded cluster, nearest or hedged reads may not be routed to a near shard replica.
  • SERVER-49704 txn_being_applied_to_secondary_cannot_be_killed.js should not allow elections
  • SERVER-49716 “gather_failed_unittests” does not work on ubuntu1804-build
  • SERVER-49922 Make schema_validator_with_expr_variables.js less heavy
  • SERVER-49933 Put cedar auth info into sys-perf tasks
  • SERVER-50170 Fix server selection failure on mongos
  • SERVER-50173 [v4.4] Remove explode_for_sort_collation.js from backports list of test suite sharding_multiversion
  • SERVER-50178 Add logging to initial_sync_nodes_maintain_and_gossip_commit_point.js
  • SERVER-50183 Copy _awaitPrimaryAppliedSurpassesRollbackApplied function from RollbackTest to RollbackTestDeluxe
  • SERVER-50216 Adjust sys-perf frequencies
  • SERVER-50290 Enforce stronger limits on task splitting
  • SERVER-50308 Adjust debug log message when cleaning up failed cursor establishment
  • SERVER-50352 Add understanding of previous syntax for multiversion exclusions
  • SERVER-50362 Add resilience to repeat execution for multiversion tag generation
  • WT-5571 Evergreen loses compiler warnings, need way to add to CFLAGS
  • WT-5717 Reenable history store salvage test
  • WT-5945 Enable stricter performance for test_wt2853_perf
  • WT-5970 Update test_wt4333_handle_locks to use 1GB cache size
  • WT-6215 Clear backup block information on rename: Reverted
  • WT-6233 Add statistic to track the number of times we remove keys from the history store due to inserting 0 timestamped entries
  • WT-6274 SESSIONs shouldn’t nest calls to get/release hs cursor
  • WT-6325 Fast truncate can lead to never resolved prepared operations
  • WT-6331 Set oldest timestamp on startup of WiredTiger
  • WT-6421 Avoid parsing metadata checkpoint for clean files
  • WT-6425 Turn off log archiving to avoid file copy race
  • WT-6440 Use onpage visibility check helpers in __wt_txn_update_check
  • WT-6466 Don’t reset the WT_SESSION timers when HS cursors are closed
  • WT-6468 Discard a deleted page that is cleaned by a checkpoint
  • WT-6473 format configuration with tiny caches can result in empty objects
  • WT-6474 Configure the global RNG before doing any command-line or configuration file processing
  • WT-6479 Don’t insert updates after the first globally visible update to the history store
  • WT-6492 Use WT_UPDATE_RESTORED_FROM_DS to determine if the onpage value is on the update chain or not
  • WT-6493 Retry processing update list if a prepared update is modified concurrently
  • WT-6499 Ignore evict priority for btrees that are dominating cache usage
  • WT-6511 cursor join: explicitly advance the iterator when finished with a clause
  • WT-6514 Fix description of eviction_updates_trigger in the documentation
  • WT-6517 Update test_txn13 to avoid getting a rollback error
  • WT-6519 Add testing coverage for mongodb-4.6 branch in compatibility test
  • WT-6527 When a thread cannot be allocated, return cleanly from WT API
  • WT-6528 Remove offensive terminology in WiredTiger API and source code
  • WT-6539 Fix backup and rename memory leak
  • WT-6543 Distinguish Evergreen artifacts links across restarts for testing tasks
  • WT-6551 Avoid a timing problem at the beginning of a test for log preallocation
  • WT-6552 Fix configure flags in evergreen.yml for failing PPC tests
  • WT-6578 Prevent reconciliation from looking past the on-disk value
  • WT-6611 Revert enhancement allowing rename and incremental backup
  • WT-6623 Set the connection level file id in recovery file scan