[SERVER-41968] IndexBuildTest.getIndexBuildOpId() not selective enough when IndexBuildsCoordinator is enabled Created: 27/Jun/19  Updated: 29/Oct/23  Resolved: 07/Jul/19

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: 4.3.1, 4.2.4

Type: Bug Priority: Major - P3
Reporter: Benety Goh Assignee: Benety Goh
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
is depended on by SERVER-39454 Move createIndexes command fully onto... Closed
Related
related to SERVER-41978 add no_passthrough task to IndexBuild... Closed
is related to SERVER-40917 collstats_shows_ready_and_in_progress... Closed
is related to SERVER-40916 Improve logging of IndexBuildTest::wa... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v4.2
Sprint: Execution Team 2019-07-01, Execution Team 2019-07-15
Participants:
Linked BF Score: 20

 Description   

When the primary is building the index with the IndexBuildsCoordinator, there could be two db.currentOp() entries for the index build: one for the command invocation on the client connection and another for the task in the thread pool managed by the IndexBuildsCoordinator. The operation performing the actual work should be the one with a non-empty 'locks' field and should be preferred over the client connection operation.

This affects mostly JS tests that attempt to locate and modify the state of an active index build when the enableIndexBuildsCoordinatorForCreateIndexesCommand server parameter is enabled.



 Comments   
Comment by Githook User [ 19/Feb/20 ]

Author:

{'username': 'benety', 'name': 'Benety Goh', 'email': 'benety@mongodb.com'}

Message: SERVER-41968 remove locks from IndexBuildTest.waitForIndexBuildToScanCollection() filter

(cherry picked from commit 0fd75d9f6abdd3423882ec03b3b3f851f7207c4a)
Branch: v4.2
https://github.com/mongodb/mongo/commit/4e974c48b158e4644d7f0c27354e67c4409db460

Comment by Githook User [ 19/Feb/20 ]

Author:

{'name': 'Benety Goh', 'username': 'benety', 'email': 'benety@mongodb.com'}

Message: SERVER-41968 wait for collection scan phase to start in hybrid index tests

This ensures that we are getting sufficient coverage over the side table logic.

(cherry picked from commit 1aeaff5c35321a3ffb7e0dbc08c59f633e1dedbf)
Branch: v4.2
https://github.com/mongodb/mongo/commit/2e6f3475043e7f15f452fb1e3a4bb5dd0ff5b012

Comment by Githook User [ 19/Feb/20 ]

Author:

{'username': 'benety', 'name': 'Benety Goh', 'email': 'benety@mongodb.com'}

Message: SERVER-41968 fix db.currentOp() query in index build tests to work with IndexBuildsCoordinator

(cherry picked from commit fc04ae1ec734645c1f8e2828c0a367192d5bc0ec)
Branch: v4.2
https://github.com/mongodb/mongo/commit/199f6e535e40054a6a1997ebbea7c34fdb5b3897

Comment by Githook User [ 19/Feb/20 ]

Author:

{'name': 'Benety Goh', 'username': 'benety', 'email': 'benety@mongodb.com'}

Message: SERVER-41968 fix db.currentOp() query in index build killop tests

This affects mostly index builds that use the IndexBuildsCoordinator because there
could be multiple db.currentOp() entries that match the createIndexes command.

(cherry picked from commit 82177ac1ee32044a733be742b8244eff9389a9fc)
Branch: v4.2
https://github.com/mongodb/mongo/commit/6e81decdf230de5a6e9fc1dd9b2e5a54e78d6d7c

Comment by Githook User [ 19/Feb/20 ]

Author:

{'name': 'Benety Goh', 'username': 'benety', 'email': 'benety@mongodb.com'}

Message: SERVER-41968 add IndexBuildTest.waitForIndexBuildToScanCollection()

(cherry picked from commit 75bf2309c8eda5496c5b4a022bd5168950eda7eb)
Branch: v4.2
https://github.com/mongodb/mongo/commit/83cbfee50017dd30b50f0d767e8b8f5d5aea0561

Comment by Githook User [ 19/Feb/20 ]

Author:

{'name': 'Benety Goh', 'username': 'benety', 'email': 'benety@mongodb.com'}

Message: SERVER-41968 IndexBuildTest.getIndexBuildOpId() accepts optional db.currentOp() filter

(cherry picked from commit 335a4e981228156ebc92e87065b817244e5084d6)
Branch: v4.2
https://github.com/mongodb/mongo/commit/2b80ad915ef25d9d5f4044fac0156f261d7f97a4

Comment by Githook User [ 07/Jul/19 ]

Author:

{'name': 'Benety Goh', 'username': 'benety', 'email': 'benety@mongodb.com'}

Message: SERVER-41968 remove locks from IndexBuildTest.waitForIndexBuildToScanCollection() filter
Branch: master
https://github.com/mongodb/mongo/commit/0fd75d9f6abdd3423882ec03b3b3f851f7207c4a

Comment by Githook User [ 07/Jul/19 ]

Author:

{'name': 'Benety Goh', 'username': 'benety', 'email': 'benety@mongodb.com'}

Message: SERVER-41968 wait for collection scan phase to start in hybrid index tests

This ensures that we are getting sufficient coverage over the side table logic.
Branch: master
https://github.com/mongodb/mongo/commit/1aeaff5c35321a3ffb7e0dbc08c59f633e1dedbf

Comment by Githook User [ 06/Jul/19 ]

Author:

{'name': 'Benety Goh', 'username': 'benety', 'email': 'benety@mongodb.com'}

Message: SERVER-41968 fix db.currentOp() query in index build tests to work with IndexBuildsCoordinator
Branch: master
https://github.com/mongodb/mongo/commit/fc04ae1ec734645c1f8e2828c0a367192d5bc0ec

Comment by Githook User [ 06/Jul/19 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-41968 fix db.currentOp() query in index build killop tests

This affects mostly index builds that use the IndexBuildsCoordinator because there
could be multiple db.currentOp() entries that match the createIndexes command.
Branch: master
https://github.com/mongodb/mongo/commit/82177ac1ee32044a733be742b8244eff9389a9fc

Comment by Githook User [ 05/Jul/19 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-41968 add IndexBuildTest.waitForIndexBuildToScanCollection()
Branch: master
https://github.com/mongodb/mongo/commit/75bf2309c8eda5496c5b4a022bd5168950eda7eb

Comment by Githook User [ 05/Jul/19 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-41968 IndexBuildTest.getIndexBuildOpId() accepts optional db.currentOp() filter
Branch: master
https://github.com/mongodb/mongo/commit/335a4e981228156ebc92e87065b817244e5084d6

Generated at Thu Feb 08 04:59:12 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.