Hi team, I would like to discuss the potential backporting of a recently introduced feature from the BookKeeper 4.17.0 release to the 4.16.x branch, which is used in Pulsar 3.0 LTS. The feature in question is the `dbStorage_readAheadCacheBatchBytesSize` configuration option, added through PR [1]. This configuration limits the prefetch size of the server read cache from the ledger disk.
Upon testing, I found that this new configuration significantly improves catch-up read latency. Given that Pulsar 3.0 is a Long-Term Support (LTS) version and relies on BookKeeper 4.16.x, incorporating this feature could provide substantial benefits to users of this version. Importantly, this configuration is disabled by default, ensuring that its introduction to the 4.16.x branch would not lead to breaking changes. This makes it a safe candidate for cherry-picking to branch-4.16. I believe this enhancement will provide a tangible improvement to the performance of Pulsar 3.0 LTS. I would appreciate any feedback or concerns regarding this proposal. Thank you for considering this improvement. Best regards, Hang [1] https://github.com/apache/bookkeeper/pull/3895