[SERVER-50103] DBClientCursor doesn't set a socket timeout when using a side connection to send the kill cursor request Created: 04/Aug/20 Updated: 29/Oct/23 Resolved: 09/Oct/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 4.9.0, 4.4.2 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Lingzhi Deng | Assignee: | Samyukta Lanka |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Operating System: | ALL | ||||||||||||
| Backport Requested: |
v4.4
|
||||||||||||
| Sprint: | Repl 2020-09-07, Repl 2020-09-21, Repl 2020-10-05, Repl 2020-10-19 | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
When closing an exhaust cursor currently in use, we have this logic in DBClientCursor to use a side connection to send a best-effort kill cursor request. In the implementation of DBClientBase::withConnection_do_not_use, we use a ScopedDbConnection without a socket timeout. |
| Comments |
| Comment by Githook User [ 22/Oct/20 ] |
|
Author: {'name': 'Samy Lanka', 'email': 'samy.lanka@mongodb.com', 'username': 'lankas'}Message: (cherry picked from commit a5ab1eda7d43aee1f944bb2f1e3734924aa5566c) |
| Comment by Githook User [ 09/Oct/20 ] |
|
Author: {'name': 'Samy Lanka', 'email': 'samy.lanka@mongodb.com', 'username': 'lankas'}Message: |
| Comment by Lingzhi Deng [ 05/Aug/20 ] |
|
Yes, as I mentioned in the HELP ticket, I think after |
| Comment by Mira Carey [ 05/Aug/20 ] |
|
I wonder if it's actually necessary to send the killCursor after https://jira.mongodb.org/browse/SERVER-44700. It seems to me that, at least on 4.4 and later, that we should be able to clean up the server side work entirely by disconnecting from the client side (rather than by sending this disconnect with a socket timeout) Would you be looking to still send the killCursor because we're hesitant to backport that change?
|