What is this cookbook doing
Investigating the logic which guancedb-select employ to specify the doris workload group a certain query routes to
Overview
Let's assume a DQL query is coming from Kodo-inner into guancedb-select, from the point of view of guancedb-select
- guancedb-select firstly finds if a REGEX clause exists inside the query
- if true, guancedb-select would route the query to group-cold|group-large-cold (i'm not sure which one exactly)
- if false, continue
- guancedb-select then consults guancedb-throttler(a victoria metrics instance) to find out the rows that the query estimates to, the consultation is similar to the following api call
text
http://guancedb-logs-guancedb-cluster-guance-throttler.middleware.svc.cluster.local:8482/api/v1/query?query=sum%28increase%28guance_tenant_inserted_rows_total%7BaccountID%3D%2215%22%2C%20namespace%3D%22T%22%2C%20index_name%3D%22default%22%7D%5B15m%5D%29%29the queryParameter translates to sum(increase(guance_tenant_inserted_rows_total{accountID="15", namespace="T", index_name="default"}[30m]))
- guancedb-select would take the response (some number of rows) from guancedb-throttler and compare it to a threshold (defined by startup argument:
search.dorisLargeColdQueryRowCount, or is it?)