Related to #5028
makeRunner inside ClientQuerySegmentWalker is designed to follow a fluent workflow but currently the usage of ResultLevelCachingQueryRunner does not completely adhere to this workflow.
Refactoring it to a fluent workflow is currently hindered by the nature of dependency between druid-processing and druid-server . FluentQueryRunnerBuilder which resides in druid-processing, cannot access ResultLevelCachingQueryRunner and most of the caching logic as they reside in druid-server.
Moving the ResultLevelCachingQueryRunner along with the caching logic into druid-processing is one approach towards making ClientQuerySegmentWalker#makeRunner cleaner but it may involve moving other related dependencies as well. Moving the FluentQueryRunner flow into druid-server is another approach which could be looked into.
Related to #5028
makeRunnerinsideClientQuerySegmentWalkeris designed to follow a fluent workflow but currently the usage ofResultLevelCachingQueryRunnerdoes not completely adhere to this workflow.Refactoring it to a fluent workflow is currently hindered by the nature of dependency between
druid-processinganddruid-server.FluentQueryRunnerBuilderwhich resides indruid-processing, cannot accessResultLevelCachingQueryRunnerand most of the caching logic as they reside in druid-server.Moving the
ResultLevelCachingQueryRunneralong with the caching logic intodruid-processingis one approach towards makingClientQuerySegmentWalker#makeRunnercleaner but it may involve moving other related dependencies as well. Moving the FluentQueryRunner flow intodruid-serveris another approach which could be looked into.