ikyriak / IdempotentAPI

A .NET library that handles the HTTP write operations (POST and PATCH) that can affect only once for the given request data and idempotency-key by using an ASP.NET Core attribute (filter).
MIT License
253 stars 38 forks source link

Make all code async #47

Closed dimmy-timmy closed 1 year ago

dimmy-timmy commented 1 year ago

Current code is mostly sync which could lead to thread pool starvation for highload scenarios We have this issue currently with redis . We are observing a lot of errors like Timeout performing EVAL

https://github.com/ikyriak/IdempotentAPI/issues/23

ikyriak commented 1 year ago

Hello @dimmy-timmy,

Thank you for taking the time to implement this and for sharing it 🙏

dimmy-timmy commented 1 year ago

@ikyriak I also added github actions configuration to run ci build and test on pull request. And modified Integration Tests to be able to run them on CI using WebApplicationFactory

karena-st commented 1 year ago

Hey guys, I was also about to propose this change to get rid of thread starvation. Luckily I saw the PR already opened. @ikyriak when do you think we can have it in RC ? to be able to use it as a package ...

ikyriak commented 1 year ago

@dimmy-timmy Thank you again for your time and effort 🙏.

@karena-st The async improvements have been released in v2.1.0.