[SERVER-38361] Disable BSON obj validation while creating exhaust dummy request on sync source/server. Created: 03/Dec/18 Updated: 06/Dec/22 Resolved: 03/Jun/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | 4.1.3 |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Suganthi Mani | Assignee: | Backlog - Replication Team |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | InitialSyncPerformance | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Assigned Teams: |
Replication
|
||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
Currently, when we create exhaust dummy request, we parse the response data over here which validates BSON obj if serverGlobalParams.objcheck (i.e.) net.wireObjectCheck is set. And, by default serverGlobalParams.objcheck is enabled. Validating BSON obj on the initial sync sync source is just an extra overhead. So, we should add a way to avoid BSON validation when we parse a previous response to create a synthetic exhaust request. |
| Comments |
| Comment by Jason Chan [ 03/Jun/19 ] |
|
Closing this ticket in favor of |
| Comment by Eric Milkie [ 11/Mar/19 ] |
|
I tried clarifying the description. |
| Comment by Eric Milkie [ 11/Mar/19 ] |
|
I understand now. (The code itself refers to "synthentic requests" instead of dummy requests.) |
| Comment by Tess Avitabile (Inactive) [ 11/Mar/19 ] |
|
No, validation of the previous response should never be performed when constructing the next dummy request for exhaust. We perform validation as part of parsing, in order to get the ok and cursor values. Instead, we will get the ok and cursor values from the previous response without performing validation. |
| Comment by Eric Milkie [ 08/Mar/19 ] |
|
Ah, so this ticket is to optionally allow the validation to be turned off, per request? |
| Comment by Tess Avitabile (Inactive) [ 08/Mar/19 ] |
|
They are in use for any exhaust cursor. |
| Comment by Eric Milkie [ 08/Mar/19 ] |
|
Are "exhaust dummy requests" only generated for initial sync, or are they in use for any exhaust cursor? |