Weyert
01/02/2025, 7:05 PMgreptimedb-1 | 2025-01-02T19:04:28.357368Z ERROR LocalManager::submit_root_procedure: common_procedure::local::runner: Failed to execute procedure metasrv-procedure::CreateFlow-6fde612e-38ef-4ad9-9d80-f1f80ad2fbfe, retry: false err=0: Failed to execute procedure due to external error
greptimedb-1 | 1: Failed to operate on datanode: peer-0(), at src/common/meta/src/ddl/utils.rs:37:18
greptimedb-1 | 2: External error, at src/flow/src/adapter/flownode_impl.rs:40:10
greptimedb-1 | 3: Not implement in flow: Aggregated function with multiple arguments is not supported, at src/flow/src/transform/aggr.rs:131:20
gWeyert
01/04/2025, 9:29 PMWeyert
03/02/2025, 8:23 PMDenys Zorinets
04/03/2025, 1:16 PMenable_region_failover=true
[meta]
enable_region_failover=true
[storage]
type = "S3"
endpoint = "http://${s3_endpoint}"
bucket = "${s3_bucket}"
region = "us-east-1"
root = "/greptimedb"
access_key_id = "${s3_access_key_id}"
secret_access_key = "${s3_access_key}"
[wal]
provider = "kafka"
broker_endpoints = [{{ range nomadService "kafka" }}"{{ .Address }}:{{ .Port }}",{{end}}]
max_batch_bytes = "1MB"
consumer_wait_timeout = "100ms"
backoff_init = "500ms"
backoff_max = "10s"
backoff_base = 2
backoff_deadline = "5mins"
overwrite_entry_start_id = false
Datanode config
[storage]
type = "S3"
endpoint = "http://${s3_endpoint}"
bucket = "${s3_bucket}"
region = "us-east-1"
root = "/greptimedb"
access_key_id = "${s3_access_key_id}"
secret_access_key = "${s3_access_key}"
cache_path = "/data/greptimedb_cache"
cache_capacity = "100GiB"
[wal]
provider = "kafka"
broker_endpoints = [{{ range nomadService "kafka" }}"{{ .Address }}:{{ .Port }}",{{end}}]
max_batch_bytes = "1MB"
consumer_wait_timeout = "100ms"
backoff_init = "500ms"
backoff_max = "10s"
backoff_base = 2
backoff_deadline = "5mins"
overwrite_entry_start_id = false
[[region_engine]]
[region_engine.mito]
write_cache_size = "20G"
sst_meta_cache_size = "256MB"
vector_cache_size = "512MB"
page_cache_size = "512MB"
selector_result_cache_size = "512MB"
enable_write_cache = true
write_cache_path = "/data/greptimedb_write_cache"
[region_engine.mito.index]
staging_size = "2GB"Denys Zorinets
04/22/2025, 3:11 PMselect
greptime_timestamp,
client_request_host,
count(*) RANGE '10s' FILL LINEAR
from
logs.cloudflare
WHERE
greptime_timestamp between '2025-04-01 00:00:00' and '2025-04-02 00:00:00'
But I've got an error
SQL Error [1815] [HY000]: (conn=8) (PlanQuery): Failed to plan SQL: Error during planning: Projection references non-aggregate values: Expression logs.cloudflare.greptime_timestamp could not be resolved from available columns: count(*)
What am I doing wrong? I tried multiple combinations - none successfulJacson Junior
04/26/2025, 9:18 PMmax_over_time(power[30s]) > 250
When I try to add a condition to filter for weekends using day_of_week(), the query fails. I have tried several variations, including:
max_over_time(power[30s]) > 250 and (day_of_week() == 0 or day_of_week() == 6)
max_over_time(power[30s]) * (day_of_week() == 0 or day_of_week() == 6) > 250
All of these attempts result in the same error:
Query 1 ERROR at Line 1: : (PlanQuery): Internal error during building DataFusion plan: No field named asset. Valid fields are .time.
Am I doing something wrong or is there a limitation in the PromQL implementation that prevents this from working?Abhishek Tripathi
05/03/2025, 10:26 AMJacson Junior
05/08/2025, 7:24 PMWest-QA Corporation
06/18/2025, 7:17 AMlucas cendoya
06/30/2025, 3:08 AMerror sending request for url (<http://169.254.169.254/latest/api/token>): client error (Connect): tcp connect error: Connection refused (os error 111): Connection refused (os error 111)
Is there any configuration option I am missing? I already tried changing 'endpoint' and 'enable_virtual_host_style' without luck. It seems that GreptimeDB's S3 client library is hardcoded to try AWS metadata service (http://169.254.169.254/latest/api/token) even when I provide explicit credentials and a non-AWS endpoint.lucas cendoya
06/30/2025, 6:15 PMDenys Zorinets
06/30/2025, 6:27 PM2025-06-30T14:23:05.657552899-04:00 stdout F 2025-06-30T18:23:05.657468Z ERROR metrics{protocol="otlp" request_type="metrics"}:metrics:handle_row_inserts:alter_table_inner: meta_client::client::procedure: An error occurred in gRPC, status: status: Cancelled, message: "Timeout expired", details: [], metadata: MetadataMap { headers: {} }
2025-06-30T14:23:05.658180268-04:00 stdout F 2025-06-30T18:23:05.658131Z ERROR servers::error: Failed to handle HTTP request err=0: Execute gRPC query error, at src/frontend/src/instance/otlp.rs:69:14
2025-06-30T14:23:05.658180268-04:00 stdout F 1: Table operation error, at src/frontend/src/instance/grpc.rs:423:14
2025-06-30T14:23:05.658180268-04:00 stdout F 2: Failed to execute ddl, at /greptimedb/src/operator/src/statement/ddl.rs:1202:14
2025-06-30T14:23:05.658180268-04:00 stdout F 3: External error, at src/meta-client/src/client.rs:262:14
2025-06-30T14:23:05.658180268-04:00 stdout F 4: Timeout expired, at src/meta-client/src/error.rs:190:23
May I ask for advice how to debug it, and maybe how to solve this issue?Denys Zorinets
07/15/2025, 2:06 PMDenys Zorinets
07/16/2025, 4:10 PMsending queue is full
errors on alloy side. Alloy is basically wrapper around opentelemetry-collector
On greptime frontend side I see no errors.
May I ask you for an advice on how to debug this?
Is seems like frontend node is backing-off or something. But no logs for that eventsrishabh parashar
07/20/2025, 11:59 AMDenys Zorinets
08/05/2025, 1:07 PMMatcher operator =~ is not supported for __name__ I guess its a part for their metric search query. Are there any plans to support this in the future?Denys Zorinets
08/11/2025, 4:35 PMRiley Wilbur
11/24/2025, 9:54 PM$__interval but that doesn't seem to work. I get "Invalid SQL syntax: sql parser error: not a valid duration string: $__interval" . I'm guessing this is more of a me issue than something is broken but any advice would be appreciated.
Edit: I did try hardcoding '1ms', and '100ms' into it and that did work so it seems like something isn't working with the substitution.
The whole was looking something like this:
SELECT
ts,
AVG(temperature) RANGE $__interval
FROM
"public"."sensor_data"
WHERE
ts >= $__fromTime AND ts <= $__toTime
ALIGN
$__interval
ORDER BY
ts ASCGopal Pradhan
12/02/2025, 3:42 PMopentelemetry_traces (
timestamp TIMESTAMP(9) NOT NULL,
timestamp_end TIMESTAMP(9) NULL,
duration_nano BIGINT UNSIGNED NULL,
parent_span_id STRING NULL SKIPPING INDEX WITH(granularity = '10240', type = 'BLOOM'),
trace_id STRING NULL SKIPPING INDEX WITH(granularity = '10240', type = 'BLOOM'),
span_id STRING NULL,
span_kind STRING NULL,
span_name STRING NULL,
span_status_code STRING NULL,
span_status_message STRING NULL,
trace_state STRING NULL,
scope_name STRING NULL,
scope_version STRING NULL,
service_name STRING NULL SKIPPING INDEX WITH(granularity = '10240', type = 'BLOOM'),
span_attributes.thread.name STRING NULL,
=======more rows=======
TIME INDEX (timestamp),
PRIMARY KEY (service_name)
)
PARTITION ON COLUMNS (trace_id) (
trace_id < '1',
trace_id >= 'f',
trace_id >= '1' AND trace_id < '2',
trace_id >= '2' AND trace_id < '3',
trace_id >= '3' AND trace_id < '4',
trace_id >= '4' AND trace_id < '5',
trace_id >= '5' AND trace_id < '6',
trace_id >= '6' AND trace_id < '7',
trace_id >= '7' AND trace_id < '8',
trace_id >= '8' AND trace_id < '9',
trace_id >= '9' AND trace_id < 'a',
trace_id >= 'a' AND trace_id < 'b',
trace_id >= 'b' AND trace_id < 'c',
trace_id >= 'c' AND trace_id < 'd',
trace_id >= 'd' AND trace_id < 'e',
trace_id >= 'e' AND trace_id < 'f'
)
ENGINE=mito
WITH(
append_mode = 'true',
table_data_model = 'greptime_trace_v1',
ttl = '2years'
)
Please guide.Denys Zorinets
12/19/2025, 2:40 PMCREATE TABLE IF NOT EXISTS "kubelet_volume_stats_inodes" (
"ts" TIMESTAMP(3) NOT NULL,
"endpoint" STRING NULL,
"k8s_cluster" STRING NULL,
"metrics_path" STRING NULL,
"namespace" STRING NULL,
"node" STRING NULL,
"persistentvolumeclaim" STRING NULL,
"resource.http.scheme" STRING NULL,
"resource.k8s_cluster" STRING NULL,
"resource.namespace" STRING NULL,
"resource.net.host.name" STRING NULL,
"resource.net.host.port" STRING NULL,
"resource.server.address" STRING NULL,
"resource.server.port" STRING NULL,
"resource.service.instance.id" STRING NULL,
"resource.service.name" STRING NULL,
"resource.url.scheme" STRING NULL,
"scope.name" STRING NULL,
"scope.version" STRING NULL,
"service" STRING NULL,
"val" DOUBLE NULL,
TIME INDEX ("ts"),
PRIMARY KEY ("endpoint", "k8s_cluster", "metrics_path", "namespace", "node", "persistentvolumeclaim", "resource.http.scheme", "resource.k8s_cluster", "resource.namespace", "resource.net.host.name", "resource.net.host.port", "resource.server.address", "resource.server.port", "resource.service.instance.id", "resource.service.name", "resource.url.scheme", "scope.name", "scope.version", "service")
)
ENGINE=mito
;
How can we query these metrics using labels with periods.
Something like kubelet_volume_stats_inodes{resource.http.scheme="http"} is not valid query. And replacing . with _ or __ is not working either.
May I ask - how should we query those metrics using promql?
Thank you in advance.
Greoptimedb v1.0.0-beta1Vika Sokolova
12/22/2025, 2:26 PM1: std::panicking::panic_with_hook
2: std::panicking::panic_handler::{{closure}}
3: std::sys::backtrace::__rust_end_short_backtrace
4: __rustc::rust_begin_unwind
5: core::panicking::panic_fmt
6: core::option::expect_failed
7: arrow_buffer::buffer::scalar::ScalarBuffer<T>::new
8: <arrow_array::array::byte_array::GenericByteArray<T> as arrow_array::array::Array>::slice
9: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
10: query::part_sort::PartSortStream::can_stop_early
11: query::part_sort::PartSortStream::split_batch
12: <query::part_sort::PartSortStream as futures_core::stream::Stream>::poll_next
13: query::window_sort::WindowedSortStream::poll_next_inner
14: <query::window_sort::WindowedSortStream as futures_core::stream::Stream>::poll_next
15: datafusion_common_runtime::trace_utils::trace_future::{{closure}}
16: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
17: tokio::runtime::task::core::Core<T,S>::poll
18: tokio::runtime::task::harness::Harness<T,S>::poll
19: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
20: tokio::runtime::context::scoped::Scoped<T>::set
21: tokio::runtime::context::runtime::enter_runtime
22: tokio::runtime::scheduler::multi_thread::worker::run
23: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
24: tokio::runtime::task::core::Core<T,S>::poll
25: tokio::runtime::task::harness::Harness<T,S>::poll
26: tokio::runtime::blocking::pool::Inner::run
27: std::sys::backtrace::__rust_begin_short_backtrace
28: core::ops::function::FnOnce::call_once{{vtable.shim}}
29: std::sys::thread::unix::thread::new::thread_start
30: <unknown>
31: <unknown>
panic.file="/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arrow-buffer-56.2.0/src/buffer/scalar.rs" panic.line=70 panic.column=52
Well, this is embarrassing.
GreptimeDB had a problem and crashed. To help us diagnose the problem you can send us a crash report.Dmitry
02/20/2026, 10:12 PMFailed to generate query for flow=1082 err=0: Datafusion error: Plan("Expect the last column in table to be timestamp column, found column ip_address with type String(StringType { size_type: Utf8 })")Slackbot
03/04/2026, 7:35 AMSlackbot
03/05/2026, 3:54 AMScrin
05/03/2026, 2:52 PMruuvi_measurements{__database__="ruuvi",__field__="temperature"} takes rather consistently that 17-19 seconds if I query using a week long timeframe, one day, or even just that last 1 hour of data, and then for example this:
SELECT
"name",
"dataFormat",
"mac",
AVG("temperature") AS avg_temperature
FROM ruuvi."ruuvi_measurements"
WHERE "greptime_timestamp" >= NOW() - INTERVAL '7 day'
GROUP BY "name", "dataFormat", "mac"
ORDER BY "name";
completes within that 100-300ms even with a week worth of data, and unsurprisingly it's pretty much equally fast with only last 1 hour of data.
I have not tuned many settings in my config as I figured the defaults are probably quite good starting point. I am using s3 compatible object storage (backblaze b2) as the main storage backend if that makes any difference. I also tried enabling slow query logging if it would reveal any additional insights, but it seems not, as the queries appear in that log as expected
is this kind of performance expected with promql? if not, what can I do to troubleshoot the issue further?Denys Zorinets
05/18/2026, 11:44 AM[[region_engine]]
[region_engine.mito]
write_cache_size = "10G"
write_cache_ttl = "1h"
sst_meta_cache_size = "256MB"
vector_cache_size = "512MB"
page_cache_size = "512MB"
selector_result_cache_size = "512MB"
enable_write_cache = true
write_cache_path = "/data/greptimedb_write_cache"
[region_engine.mito.index]
staging_size = "2GB"
Even though write_cache_size is set to 10G, the write_cache_path directory continues to grow and eventually reaches around 200 GB.
I was hoping someone could help me understand:
• Is it expected for the write cache to grow beyond the configured write_cache_size?
• Are there additional settings we should tune to better control disk usage?
• Is there any configuration related to disk usage for frontend nodes? I wasn’t able to find anything in the documentation.
Any suggestions or insights would be greatly appreciated.
Thanks in advance!Dmitry
05/19/2026, 10:30 PMSELECT limit_param_repro.item_id AS "out_item_id",
limit_param_repro.sample_score AS "out_sample_score"
FROM limit_param_repro
LIMIT ?;
we have 1 argument:
args (1): []interface {}{1}
and we get the below error:
run query: sql: expected 0 arguments, got 1Denys Zorinets
07/17/2026, 5:35 PMThe request does not have valid authentication credentials, source: 0: Not found http or grpc authorization header, at src/client/src/error.rs:173:1
2026-07-17T13:26:30.462954537-04:00 stderr F Error: 0: Failed to start flownode, at src/cmd/src/flownode.rs:96:37
2026-07-17T13:26:30.462954537-04:00 stderr F 1: Invalid request: Frontend <> rejected unauthenticated flownode probe; ensure frontend internal_grpc is advertised to metasrv, at src/flow/src/batching_mode/frontend_client.rs:244:38
2026-07-17T13:26:30.462954537-04:00 stderr F 2: Failed to do Flight get, code: The request does not have valid authentication credentials
2026-07-17T13:26:30.462954537-04:00 stderr P 3: Not found http or grpc authorization header, at src/client/src/error.rs:173:1
Greptimedb 1.1.2
Can you advice correct config for flownode please?Denys Zorinets
08/18/2026, 11:35 PM{
"request": {
"url": "api/ds/query?ds_type=info8fcc-greptimedb-datasource&requestId=SQR123",
"method": "POST",
"data": {
"queries": [
{
"refId": "A",
"hide": false,
"datasource": {
"type": "info8fcc-greptimedb-datasource",
"uid": "Greptimedb"
},
"editorType": "sql",
"format": 1,
"meta": {
"builderOptions": {
"columns": [],
"database": "",
"limit": 1000,
"meta": {},
"mode": "list",
"queryType": "table",
"table": ""
},
"timezone": "America/New_York"
},
"pluginVersion": "2.1.4",
"queryType": "table",
"rawSql": "SELECT greptime_timestamp as time, \"message.traceId\", \"message.spanId\", \"message.error.message\", \"message.message\", FROM logs.\"k8s_app_logs\" WHERE greptime_timestamp BETWEEN $__fromTime and $__toTime AND level = 'ERROR' ORDER BY greptime_timestamp DESC LIMIT 1000",
"datasourceId": 7,
"intervalMs": 5000,
"maxDataPoints": 1066
}
],
"from": "1787087854703",
"to": "1787094539531"
},
"hideFromInspector": false
},
"response": {
"results": {
"A": {
"error": "greptime http 400: {\"code\":3000,\"error\":\"Failed to plan SQL: No field named \\\"message.traceId\\\". Valid fields are logs.k8s_app_logs.greptime_timestamp, logs.k8s_app_logs.k8s_cluster, logs.k8s_app_logs.message, logs.k8s_app_logs.namespace, logs.k8s_app_logs.observed_timestamp, logs.k8s_app_logs.level.\",\"execution_time_ms\":3}",
"errorSource": "downstream",
"status": 500,
"frames": [],
"refId": "A"
}
}
}
}
The interesting part is that the error says the parsed fields such as message.traceId do not exist, while the identity pipeline is successfully creating/populating these fields.
There is also another related issue when I use the MySQL connector. In that case, I don't get an error, but instead of returning the field value, Grafana displays the column name itself as a string. For example, if I query:
SELECT "k8s_app_logs.k8s_cluster" FROM ...
the result is literally k8s_app_logs.k8s_cluster rather than the value stored in that field.
Could you please take a look and let me know if this is a known issue with the Grafana plugin, or if there is something I may be missing in the configuration?
Thanks!
:::Denys Zorinets
08/28/2026, 12:30 AM