mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-02-18 06:09:24 -06:00
* add multiple rate limiter in grpc using a token bucket * PR feedback * add in client retry for go client * update test files * remove log line only retry on ResourceExhausted and Unavailable * add some concurrency limits so we don't swamp ourselves * add some logging for when we are getting backed up * lets not queue up when we are too full to prevent OOM problems * fix spelling * add config options for maximum concurrent and how long to wait for flush , let the wait for flush setting be used as back pressure and a signal to writers that we are slowing up * lots of changes to buffering * fix data race * add some comments explaing how this works, change errors to be ResourceExhausted now that we have client retry and limit how many gofuncs we can create on cleanup and wait for them to finish before we exit * hooking up the config values so they go to the right place * Update config.go to default to 1 ms waitForFlush * disable grpc_retry for client streams * explicitly set the limit if it is 0 * weirdness because we were using an older version of the lib --------- Co-authored-by: Sean Reilly <sean@hatchet.run> Co-authored-by: Alexander Belanger <alexander@hatchet.run>