You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by GitBox <gi...@apache.org> on 2020/10/13 23:14:57 UTC

[GitHub] [druid] jihoonson commented on a change in pull request #10503: Additional documentation for query caching

jihoonson commented on a change in pull request #10503:
URL: https://github.com/apache/druid/pull/10503#discussion_r504299242



##########
File path: docs/querying/caching.md
##########
@@ -82,3 +82,12 @@ Note that the task executor processes only support caches that keep their data l
 This restriction exists because the cache stores results at the level of intermediate partial segments generated by the
 ingestion tasks. These intermediate partial segments will not necessarily be identical across task replicas, so
 remote cache types such as `memcached` will be ignored by task executor processes.
+
+## Unsupported queries
+
+Query caching is not available for following
+- queries, that have a union operation, do not support result-level caching - [More details](https://github.com/apache/druid/issues/8713)

Review comment:
       Suggest union operation -> `union` datasource.

##########
File path: docs/querying/caching.md
##########
@@ -82,3 +82,12 @@ Note that the task executor processes only support caches that keep their data l
 This restriction exists because the cache stores results at the level of intermediate partial segments generated by the
 ingestion tasks. These intermediate partial segments will not necessarily be identical across task replicas, so
 remote cache types such as `memcached` will be ignored by task executor processes.
+
+## Unsupported queries
+
+Query caching is not available for following
+- queries, that have a union operation, do not support result-level caching - [More details](https://github.com/apache/druid/issues/8713)
+- queries, that involve an Inline data source or a Lookup data source, do not support any caching. 

Review comment:
       Suggest `inline` datasource and `lookup` datasource. "Datasource" is the correct terminology to refer a datasource.

##########
File path: docs/querying/datasource.md
##########
@@ -134,8 +134,6 @@ another will be treated as if they contained all null values in the tables where
 The list of "dataSources" must be nonempty. If you want to query an empty dataset, use an [`inline` datasource](#inline)
 instead.
 
-Union datasources are not available in Druid SQL.

Review comment:
       Nice catch. Please add a SQL query example as in https://github.com/apache/druid/pull/10503/files#diff-dae1ec2a726a9b89dfdf6eb74b7d7c4d9397e02eb95cf4ec5ef3ee440fdefd4dR75-R79.

##########
File path: docs/querying/caching.md
##########
@@ -82,3 +82,12 @@ Note that the task executor processes only support caches that keep their data l
 This restriction exists because the cache stores results at the level of intermediate partial segments generated by the
 ingestion tasks. These intermediate partial segments will not necessarily be identical across task replicas, so
 remote cache types such as `memcached` will be ignored by task executor processes.
+
+## Unsupported queries
+
+Query caching is not available for following

Review comment:
       Did you intend this line and the below sentences to be separate? If so, please add a colon or a period at the end of this sentence. Also, the below sentences should start with a capital letter.

##########
File path: docs/querying/caching.md
##########
@@ -82,3 +82,12 @@ Note that the task executor processes only support caches that keep their data l
 This restriction exists because the cache stores results at the level of intermediate partial segments generated by the
 ingestion tasks. These intermediate partial segments will not necessarily be identical across task replicas, so
 remote cache types such as `memcached` will be ignored by task executor processes.
+
+## Unsupported queries

Review comment:
       Some missing stuffs:
   
   - `DataSourceMetadataQuery` is never cached.
   - Any queries are not cached in brokers if `bySegment` is set in query context. Historicals don't seem to care about `bySegment` which I think is a bug. We should never cache when it's set.

##########
File path: docs/querying/caching.md
##########
@@ -82,3 +82,12 @@ Note that the task executor processes only support caches that keep their data l
 This restriction exists because the cache stores results at the level of intermediate partial segments generated by the
 ingestion tasks. These intermediate partial segments will not necessarily be identical across task replicas, so
 remote cache types such as `memcached` will be ignored by task executor processes.
+
+## Unsupported queries
+
+Query caching is not available for following
+- queries, that have a union operation, do not support result-level caching - [More details](https://github.com/apache/druid/issues/8713)
+- queries, that involve an Inline data source or a Lookup data source, do not support any caching. 
+- queries, with a sub-query in them, do not support any caching though the output of sub-queries itself may be cached.

Review comment:
       It would be worth linking https://druid.apache.org/docs/0.19.0/querying/query-execution.html#query to help understanding since this requires to know how subquery system works in Druid.




----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org