[SERVER-73819] DBDirectClient operations interrupted with internal-only exceptions will tripwire Created: 09/Feb/23 Updated: 29/Oct/23 Resolved: 16/Mar/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Client |
| Affects Version/s: | None |
| Fix Version/s: | 7.0.0-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Kaloian Manassiev | Assignee: | Blake Oler |
| 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: |
v6.3
|
||||||||||||||||
| Sprint: | Service Arch 2023-02-20, Service Arch 2023-03-06, Service Arch 2023-03-20 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Linked BF Score: | 105 | ||||||||||||||||
| Description |
|
We have tripwire assertions in the server that internal-only exceptions should not escape back to the client. This is an important check to have, but it is not technically correct in the case of DBDirectClient. DBDirectClient enters the service entry point using an OperationContext which doesn't belong to the command itself. This means if the thread using the DBDirectClient is interrupted with some internal exception that the interruptor knows will be handled by their thread, from the point of view of the service entry point, this exception "has escaped to the client", but in fact it has only escaped to the internal thread. |
| Comments |
| Comment by Githook User [ 16/Mar/23 ] |
|
Author: {'name': 'Blake Oler', 'email': 'blake.oler@mongodb.com', 'username': 'BlakeIsBlake'}Message: |