[SERVER-46653] Guard return path from ServiceEntryPoint to prevent undefined behavior Created: 05/Mar/20 Updated: 06/Dec/22 |
|
| Status: | Open |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Benjamin Caimano (Inactive) | Assignee: | Backlog - Service Architecture |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | 5.0-desired | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Assigned Teams: |
Service Arch
|
||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||
| Sprint: | Service Arch 2020-08-10, Service Arch 2020-08-24, Service arch 2020-09-07, Service arch 2020-09-21 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Description |
|
There are layers upon layers of try-catch-throw in ServiceEntryPoint. The function handleRequest() is likely the place where we should not allow exceptions to be thrown. We need some DbResponse-returning noexcept function to be the return path from a ServiceEntryPoint to a ServiceExecutor. Once we have that, we can be confident that the client will receive a response in any situation where the process is in a workable state. |