[SERVER-68761] Add a jscore passthrough suite that has query sampling enabled Created: 11/Aug/22 Updated: 29/Oct/23 Resolved: 21/Dec/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 6.3.0-rc0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Cheahuychou Mao | Assignee: | Israel Hsu |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Sprint: | Sharding NYC 2022-11-14, Sharding NYC 2022-11-28, Sharding 2022-12-12, Sharding NYC 2022-12-26 | ||||||||
| Participants: | |||||||||
| Comments |
| Comment by Githook User [ 21/Dec/22 ] |
|
Author: {'name': 'Israel Hsu', 'email': 'israel.hsu@mongodb.com', 'username': 'israelhsu'}Message: |
| Comment by Israel Hsu [ 12/Dec/22 ] |
|
cheahuychou.mao@mongodb.com |
| Comment by Israel Hsu [ 07/Dec/22 ] |
|
A note about ValidateCollections and kill-primary passthrough suites: Part of the ValidateCollections hook in the yml file is to compare the document count to the expected value; this uses WiredTiger's fast-count. In the case of a killed primary, WiredTiger's fast-count may be out-of-date. Thus, for kill-primary passthrough suites, the fast-count check is disabled through a global variable in TestData: TestData.skipEnforceFastCountOnValidate: true. |
| Comment by Israel Hsu [ 23/Nov/22 ] |
|
Considering Jack's comments I've removed the override/wrapper for insert() and drop() and reimplemented getCollection() as he suggested. I also temporarily removed the passthrough suites for kill and terminate, as Jack suggested. When it's shown that stepdown suite is all green, we can add these back in. |
| Comment by Israel Hsu [ 22/Nov/22 ] |
|
In js tests, the shell DB.prototype.getCollection() creates a collection object, but does not execute any command (or result in any change) in the server – a collection is only created (as needed) on insert. Therefore, wrapping getCollection() to execute the configureQueryAnalyzer command would only result in NamespaceNotFound error for new collections. What should be done instead of wrapping getCollection() is to wrap insert. The wrapper will maintain a set of namespaces that have been referenced, and on first reference, the wrapper will execute configureQueryAnalyzer. We'll also need to wrap dropCollection and dropDatabase in order to remove namespace(s) from the set. |