elasticsearch-net icon indicating copy to clipboard operation
elasticsearch-net copied to clipboard

Wrapping of TaskCanceledException

Open jhouben98 opened this issue 3 years ago • 3 comments

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 avatar Dec 16 '21 16:12 jhouben98

@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.

stevejgordon avatar Jan 31 '22 08:01 stevejgordon