Thanks for the explanation @jihoonson I had performed some tests wrapping the `AsyncQueryRunner` for each of the runners within the `MergeSequence` but it didn't look like it helped. Anyways I'll take a look again. I agree that using the `AsyncQueryRunner` may not be the best idea and it may require increasing the processing numthreads as the broker uses its query processing executor service for parallelizing it. The solution what I was suggesting is to modify the `getDataSource()` API in the Query interface to something like: `List<DataSource> getDataSource()` With this change, we can modify the following `getTimeline` method and construct a combined VersionedIntervalTimeline<String, ServerSelector> object which includes entries for all the listed datasources: https://github.com/apache/incubator-druid/blob/master/server/src/main/java/org/apache/druid/client/CachingClusteredClient.java#L256 This timeline can then be used for identifying segments to be queried and from here on`CachingClusteredClient` would treat this as a single query. Does this make sense?
[ Full content available at: https://github.com/apache/incubator-druid/issues/6057 ] This message was relayed via gitbox.apache.org for [email protected]
