abhishekrb19 opened a new pull request, #18663: URL: https://github.com/apache/druid/pull/18663
This adds the `compactTask/busySlot/count` metric to the compaction duty run. The formula to compute available compact task slots in a run is: `availableCompactionTaskSlots = Math.max(0, compactionTaskCapacity - busyCompactionTaskSlots)` Often times, it's confusing why compactTask/availableSlot/count is lower than expected. It turns out that the compact duty using the native engine just caps it using `maxNumConcurrentSubTasks`, regardless of the phase a current compact supervisor is in. While we can tune the algorithm a little bit, the current approach is likely the safest thing to do with the native engine at least. We can deduce the number of busy slots indirectly by working backward from the formula using the available task slots and maximum task slots metrics, but that isn’t immediately obvious to users. This metric should help operators better plan for compaction task slots in a MM-based setup. ### Release note Added the `compactTask/busySlot/count` metric, which denotes the number of busy compaction task slots occupied by existing tasks during a given compact duty run. This PR has: - [x] been self-reviewed. - [x] added documentation for new or modified features or behaviors. - [x] a release note entry in the PR description. - [x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for [code coverage](https://github.com/apache/druid/blob/master/dev/code-review/code-coverage.md) is met. - [x] been tested in a test Druid cluster. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
