Since there's no way to pass subscriptionId upon CompactionProcessor instantiation, CompactionProcessor's metrics are registered every time per task, so AbstractMetrics isn't useable
Though we confirmed it doesn't cause much overhead
Possible fix for this will be like below:
Make CompactionProcessor constructor to receive subscriptionId
Or It'd better to pass information which is available on the processor scope (partition, threadId) in addition to subscriptionId
Add ProcessorsBuilder#thenProcess overload that receives supplier of type Function<ScopeInfo, DecatonProcessor>
refs: https://github.com/line/decaton/pull/95#issuecomment-797296705
CompactionProcessor
is an exceptionsubscriptionId
uponCompactionProcessor
instantiation,CompactionProcessor
's metrics are registered every time per task, soAbstractMetrics
isn't useableCompactionProcessor
constructor to receive subscriptionIdProcessorsBuilder#thenProcess
overload that receivessupplier
of typeFunction<ScopeInfo, DecatonProcessor>