Skip to content

Instantly share code, notes, and snippets.

View beta3-z's full-sized avatar

Maksim Emelianchenko beta3-z

View GitHub Profile
@beta3-z
beta3-z / jetbrains_datagrip_clickhouse_connection_error.md
Created June 15, 2026 14:51
jetbrains_datagrip_clickhouse_connection_error.md

Environment

  • ClickHouse server: 24.8.14.39 (Managed ClickHouse — HTTPS interface on port 8443, SSL required)
  • DataGrip with the ClickHouse JDBC driver (0.9.8 in the final setup

Problem

Connecting to the Managed ClickHouse cluster over SSL failed at two independent layers:

Property rejection

The bundled 0.8.x/0.9.x driver does strict property validation and rejected connection properties that DataGrip injects automatically: Failed to create connection.

Useful Links

Don't Do This

Built in datatypes nuances

Sequences

  • May fall behind when replicated

Config

Default settings are chosen to run Postgresql on almost any piece of hardware. So, they MUST be changed in production, because we have much more resources to work with.

Python Version Managers

Creating Virtual Envrinoment

uv venv --python 3.13 --seed
source ./venv/

Inference Servers Frameworks

Могут запросить сканы документов

Stripe then attempts verification.
In some cases, Stripe may be able to verify an account by confirming some or all of the keyed-in data provided.
In other cases, Stripe may require additional information, including, for example, a scan of a valid government-issued ID, a proof of address document, or both.

Можно использовать их окно https://stripe.com/docs/connect/custom/hosted-onboarding

BREAKING CHANGE: The request 'modulename' failed

Module not found: Error: Can't resolve 'modulename' in '/path/components' Did you mean 'modulename.js'? BREAKING CHANGE: The request 'modulename' failed to resolve only because it was resolved as fully specified (probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '.mjs' file, or a '.js' file where the package.json contains '"type": "module"'). The extension in the request is mandatory for it to be fully specified. Add the extension to the request.

type Dirent = {
isBlockDevice(): boolean,
isCharacterDevice(): boolean,
isDirectory(): boolean,
isFIFO(): boolean,
isFile(): boolean,
isSocket(): boolean,
isSymbolicLink(): boolean,
name: string // | Buffer
}

Insecure TLS validation

  • Enable self-signed certificate rejections
  • Validate certificat expiration date
  • Validate Subject Alt Names (SAL) with current host (host.com, *.host.com)

SQL Injection

  • Avoid string concatenation for SQL queries
  • Use prepared statements or bindings instead of concatenation

BAD

Enable tracing

Client

On a client you MUST set a tracesSampleRate property.

Sentry.init({
  dsn: process.env.SENTRY_DSN,
  release: process.env.RELEASE,
  environment: process.env.NODE_ENV,
 sampleRate: 1.0,