Code: 279. DB::NetException: All connection tries failed.
Problème
La fonction de table remote() ou remoteSecure() permet d’accéder à une table distante depuis un autre nœud ClickHouse.
Lorsque ces fonctions sont utilisées sur un nœud situé à plus de 100 ms de latence du nœud distant, il est courant de rencontrer une erreur de délai d’attente.
Par exemple :
4776d4bd8190 :) SELECT * FROM remoteSecure('HOSTNAME.us-east-2.aws.clickhouse.cloud', DATABASE, TABLE, 'USER', 'USER_PASSWORD')
SELECT *
FROM remoteSecure('HOSTNAME.us-east-2.aws.clickhouse.cloud', DATABASE, TABLE, 'USER', 'USER_PASSWORD')
Query id: 2bd6ddd0-66d9-4d19-830f-87e3cec3724b
0 rows in set. Elapsed: 1.213 sec.
Received exception from server (version 22.6.9):
Code: 519. DB::Exception: Received from localhost:9000. DB::NetException. DB::NetException: All attempts to get table structure failed. Log:
Code: 279. DB::NetException: All connection tries failed. Log:
Code: 209. DB::NetException: Timeout: connect timed out: 18.218.245.169:9440 (hc7d963h1t.us-east-2.aws.clickhouse.cloud:9440, connection timeout 100 ms). (SOCKET_TIMEOUT) (version 22.6.9.11 (official build))
Code: 209. DB::NetException: Timeout: connect timed out: 18.218.245.169:9440 (hc7d963h1t.us-east-2.aws.clickhouse.cloud:9440, connection timeout 100 ms). (SOCKET_TIMEOUT) (version 22.6.9.11 (official build))
Code: 209. DB::NetException: Timeout: connect timed out: 18.218.245.169:9440 (hc7d963h1t.us-east-2.aws.clickhouse.cloud:9440, connection timeout 100 ms). (SOCKET_TIMEOUT) (version 22.6.9.11 (official build))
. (ALL_CONNECTION_TRIES_FAILED) (version 22.6.9.11 (official build))
. (NO_REMOTE_SHARD_AVAILABLE)Solution de contournement
Pour augmenter le délai d’expiration de la connexion, définissez connect_timeout_with_failover_secure_ms sur une valeur plus élevée (par exemple 1 seconde), au-delà de la valeur par défaut de 100 ms.
4776d4bd8190 :) SELECT * FROM remoteSecure('HOSTNAME.us-east-2.aws.clickhouse.cloud:9440', DATABASE, TABLE, 'USER', 'USER_PASSWORD') SETTINGS connect_timeout_with_failover_secure_ms = 1000
SELECT *
FROM remoteSecure('HOSTNAME.us-east-2.aws.clickhouse.cloud:9440', DATABASE, TABLE, 'USER', 'USER_PASSWORD')
SETTINGS connect_timeout_with_failover_secure_ms = 1000
Query id: 8e2f4d41-307b-4e61-abb8-809190023247
┌─x─┐
│ 1 │
└───┘
1 row in set. Elapsed: 2.403 sec.