Summary:
RateLimiter has a debug assert that you cannot `Request` more than `GetSingleBurstBytes`. In release mode we do not perform this check and any call gets stuck forever. This change allows large bytes to be requested on RateLimiter. It does so by breaking requests larger than `GetSingleBurstBytes` into multiple smaller requests.
This change is a temporary fix to allow xCluster to operate without any issues. RocksDB RateLimiter has multiple enhancements over the years that would help avoid this and more starvation issues. Ex: https://github.com/facebook/rocksdb/commit/cb2476a0cacbf53ca16aecda46f7b4fe8a2594f3. We should consider pulling in those changes.
Fixes #23173
Jira: DB-12112
Test Plan: RateLimiterTest.LargeRequests
Reviewers: slingam
Reviewed By: slingam
Subscribers: ybase
Differential Revision: https://phorge.dev.yugabyte.com/D36703