charts
charts copied to clipboard
helm chart 0.28.0 schema-migrator fatal error: failed to parse dsn
Today, I update to the latest version of helm chart (2.8.0) and latest version of otel-collector (0.79.11, https://github.com/SigNoz/signoz-otel-collector/issues/180) and I have received the following error in the schema-migrator:
schema-migrator {"level":"fatal","timestamp":"2023-10-25T07:03:10.780Z","caller":"signozschemamigrator/migrate.go:79","msg":"Failed to create migration manager","component":"migrate cli","error":"failed to parse dsn: parse \"tcp://<external-clickhouse-server>:%!s(float64=<external-clickhouse-port>)?username=**********&password=ignored\": invalid port \":%!s(float64=<external-clickhouse-port>)\" after host","stacktrace":"main.main\n\t/home/runner/work/signoz-otel-collector/signoz-otel-collector/cmd/signozschemamigrator/migrate.go:79\nruntime.main\n\t/opt/hostedtoolcache/go/1.20.10/x64/src/runtime/proc.go:250"}
Does anyone have an idea what could be happening? There seems to be a problem when building the clickhouse endpoint url.
Thanks
Something with the ClickHouse DNS isn't correct. It seems to be unable to parse.
Would it be possible for you to share your override values of the externalClickhouse
section? Feel free to redact the sensitive information with dummy values which look identical in nature.
For sure:
## External clickhouse configuration
## This is required when clickhouse.enabled is false
##
externalClickhouse:
# -- Host of the external cluster.
host: hostname.domain
# -- Name of the external cluster to run DDL queries on.
cluster: external_cluster
# -- Database name for the external cluster
database: signoz_metrics
# -- Clickhouse trace database (SigNoz Traces)
traceDatabase: signoz_traces
# -- User name for the external cluster to connect to the external cluster as
user: "someUername"
# -- Password for the cluster. Ignored if existingClickhouse.existingSecret is set
password: "ignored"
# -- Name of an existing Kubernetes secret object containing the password
existingSecret: clickhouse-password
# -- Name of the key pointing to the password in your Kubernetes secret
existingSecretPasswordKey: clickhouse-password
# -- Whether to use TLS connection connecting to ClickHouse
secure: false
# -- Whether to verify TLS connection connecting to ClickHouse
verify: false
# -- HTTP port of Clickhouse
httpPort: 9999
# -- TCP port of Clickhouse
tcpPort: 9999
Thanks for all
The issue is in the clickhouse.httpUrl variable. It is appending the port 8123 in the end by default
For sure:
## External clickhouse configuration ## This is required when clickhouse.enabled is false ## externalClickhouse: # -- Host of the external cluster. host: hostname.domain # -- Name of the external cluster to run DDL queries on. cluster: external_cluster # -- Database name for the external cluster database: signoz_metrics # -- Clickhouse trace database (SigNoz Traces) traceDatabase: signoz_traces # -- User name for the external cluster to connect to the external cluster as user: "someUername" # -- Password for the cluster. Ignored if existingClickhouse.existingSecret is set password: "ignored" # -- Name of an existing Kubernetes secret object containing the password existingSecret: clickhouse-password # -- Name of the key pointing to the password in your Kubernetes secret existingSecretPasswordKey: clickhouse-password # -- Whether to use TLS connection connecting to ClickHouse secure: false # -- Whether to verify TLS connection connecting to ClickHouse verify: false # -- HTTP port of Clickhouse httpPort: 9999 # -- TCP port of Clickhouse tcpPort: 9999
Thanks for all
try it like this: tcpPort: "9999"
But what if i dont want a custom port?