Jun Zhou
10/05/2026, 8:50 AMSELECT *
FROM information_schema.partitions
WHERE table_schema = 'prometheus_risingwave'
AND table_name = 'greptime_physical_table'
ORDER BY partition_ordinal_position;
For profiling we prepend EXPLAIN ANALYZE VERBOSE to this exact SQL.
Observed timeline (different measurements, not a controlled benchmark)
• Original user-observed latency: over 14 seconds. Historical plan: RepartitionExec.fetch_time=13.4s, sort compute 12us, filter compute 154us, 15 output rows.
• 2026-10-03 12:32 UTC historical re-test: the same EXPLAIN query reported fetch_time=7.67s and 15 rows.
• Fresh collection 2026-10-05 08:37 UTC, via Grafana datasource HTTP proxy: original SELECT returned 15 rows in 4.739s client wall time.
• A separate EXPLAIN execution immediately afterward took 2.566s client wall time, with 2.45s fetch_time, SortExec 11us and FilterExec 71us. Full current plan attached in latest-plan.txt.
Client wall time includes Grafana/proxy/network overhead; fetch_time is an execution-plan metric. They must not be equated. These were sequential single executions without cache reset, while normal ingestion continued; background activity was not controlled. We are NOT claiming a constant 14-second latency or a measured p95.
The latest plan still shows:
FilterExec: table_schema = prometheus_risingwave AND table_name = greptime_physical_table
RepartitionExec: ... fetch_time: 2.45s
StreamScanAdapter
Filter output is 15 rows; the plan reports 847.7KiB output_bytes at FilterExec/RepartitionExec. We do not interpret that byte counter as exact catalog input volume or infer a root cause from it alone.
Environment
• Current SELECT version() reverified: 1.3.0-beta.1.
• Previously verified binary commit: 133296f298c504b920772292c22f169cd46c54c9 (not freshly read from every Pod in this collection).
• Latest partition readback: 15 RANGE partitions on namespace, p0–p14, region IDs 4823248273408–4823248273422.
• Fresh table inventory in the two metric schemas: prometheus has 78 metric-engine tables, 13 mito tables and 3 entries with blank engine; prometheus_risingwave has 1707 metric-engine tables. Metric counts include physical tables, not only logical tables. This is not an all-catalog table count. The table-count query itself took 13.116s client wall time, a separate observation without a plan.
• Last Kubernetes inventory (2026-10-03, NOT refreshed today): 3 frontend (2 CPU/8Gi each), 3 metasrv (2 CPU/4Gi), 8 datanode (8 CPU/16Gi), 3 flownode (4 CPU/8Gi); requests=limits. Four Kubernetes hosts, shared S3-compatible storage, local WAL/cache.
Question
Why does a metadata query filtered to a single table and returning only 15 partition rows still take more than 2 seconds in GreptimeDB? We would expect this basic single-table metadata lookup to be much faster. Could you help explain the observed latency?Philip Schwartz
10/05/2026, 5:56 PMevenyag
10/06/2026, 4:10 AM