Skip to content

Commit 366f274

Browse files
Fix flaky test test_many_connections in test_odbc_interaction
The `odbc-bridge` crashes with SIGSEGV when handling 25 concurrent requests simultaneously (each UNION ALL branch opens a separate HTTP connection to the bridge). The crash occurs in the thread pool when `ParallelFormattingOutputFormat` tries to spawn formatting threads for each concurrent request, causing resource exhaustion. After the crash, remaining connections get "Connection refused" and the query fails. Use `assert_eq_with_retry` (already used elsewhere in this test file) to retry the query. On retry, `startBridgeSync` detects the dead bridge and restarts it. Closes #92521 https://s3.amazonaws.com/clickhouse-test-reports/json.html?PR=93983&sha=fbe65318fd2687eb5640e14df6cd5cba1455cada&name_0=PR&name_1=Integration%20tests%20%28amd_binary%2C%203%2F5%29 Co-Authored-By: Claude Opus 4.6 <[email protected]>
1 parent 125ef11 commit 366f274

File tree

1 file changed

+1
-1
lines changed
  • tests/integration/test_odbc_interaction

1 file changed

+1
-1
lines changed

tests/integration/test_odbc_interaction/test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -957,7 +957,7 @@ def test_many_connections(started_cluster):
957957
query += "SELECT key FROM {t} UNION ALL "
958958
query += "SELECT key FROM {t})"
959959

960-
assert node1.query(query.format(t="test_pg_table")) == "250\n"
960+
assert_eq_with_retry(node1, query.format(t="test_pg_table"), "250")
961961
cursor.execute("DROP TABLE clickhouse.test_pg_table")
962962

963963

0 commit comments

Comments
 (0)