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

Reply via email to