elasticsearch-net
elasticsearch-net copied to clipboard
Wrapping of TaskCanceledException
Is your feature request related to a problem? Please describe.
When a request is cancelled, an UnexpectedElasticsearchClientException with an inner TaskCanceledException is thrown.
This is very annoying because it's not catched with catch (OperationCanceledException).
Describe the solution you'd like
TaskCanceledException / OperationCanceledException is automatically unwrapped / not wrapped before it's thrown.
Describe alternatives you've considered
I'm currently using this:
catch (UnexpectedElasticsearchClientException ex) when (ex.InnerException is OperationCanceledException)
Additional context
TaskCanceledException is derived from OperationCanceledException.
It's also not recognized by dependent libraries (for example: BackgroundService of .NET Core / Worker Service), meaning they will see an error instead of cancellation when the Elasticsearch Exception is thrown.
@jhouben98 This is a fair point. I'll dig into any historical reasons for this. While it's not something we could change in v7 as it would be breaking behaviour, I'd like to review this in the v8 timeframe.