Search code examples
grafana

pq: [parent] Data too large


I'm using Grafana to visualize some data stored in CrateDB in different panes. Some of my boards work correctly, but there are 3 specific boards (created by someone from my work team), in which at certain times of the day they stop showing data (No Data) and as a warning it shows the following error:

db query error: pq: [parent] Data too large, data for [fetch-1] would be [512323840/488.5mb], which is larger than the limit of [510027366/486.3mb], usages [request=0/0b, in_flight_requests=0/0b, query=150023700/143mb, jobs_log=19146608/18.2mb, operations_log=10503056/10mb]

Honestly, I would like to understand what it means, and how I can fix it.

I remain attentive to any help you can give me, and I deeply appreciate the help.

what I tried

17 SQL Statements of the form:

SELECT
  time_index AS "time",
  entity_id AS metric,
  v1_ps
FROM etsm
WHERE
  entity_id = 'SM_B3_RECT'
ORDER BY 1,2

for 17 different entities.

what I hope

I hope to receive the data corresponding to each of the SQL statements for their respective graphing.

The result

As a result, there is no data received on some of the statements made and the warning message I shared:

db query error: pq: [parent] Data too large, data for [fetch-1] would be [512323840/488.5mb], which is larger than the limit of [510027366/486.3mb], usages [request=0/0b, in_flight_requests=0/0b, query=150023700/143mb, jobs_log=19146608/18.2mb, operations_log=10503056/10mb]

As an additional fact, the graph is configured to update every 15 min, but no matter how many times you manually update the graph, the statements that receive data are different. Example: I refresh the panel and the SQL statements A, B and C get data, while the others don't. I refresh the panel and the SQL statements D, H and J receive data, and the others don't (with a random pattern).

Other additional information: I have access to the database being consulted with Grafana, and the data is there


Solution

  • You don't have time condition, so query select/process all records all the time and you are hitting limits (e. g. size of processed data) of your DB. Add time condition, so only fraction of all records will be returned.