gianm commented on issue #8713: Improper result-level cache ETag handling for union datasources URL: https://github.com/apache/incubator-druid/issues/8713#issuecomment-545697482 > I think `UnionDataSource` should handle this special case which would solve the problem for both `ResultLevelCache` and for users with their own result level cache outside of Druid that are using same protocol. I am worried about a situation where UnionQueryRunner needs to know about ETags. What if there's some _other_ response context field now (or in the future) that has the same problem? It is too bug-prone for people to need to remember to update UnionQueryRunner every time they add a response context field. Also, if there are things other than UnionQueryRunner that split up queries into subqueries, they would all need to know about ETags too, which seems weird. What do you think about making ResponseContext have a concurrency-safe "compute" method similar to the one on `java.util.Map`? We could even get rid of the `put` method and only offer `compute`, to ensure we're always handling this case properly. Or keep `put` but make it throw an error if there is an existing value.
---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@druid.apache.org For additional commands, e-mail: commits-h...@druid.apache.org