v.21.7Improvement

Detect Linux Kernel Version at Runtime for Async Socket Functionality

Detect Linux kernel version at runtime (for worked nested epoll, that is required for async_socket_for_remote/use_hedged_requests, otherwise remote queries may stuck). #25067 (Azat Khuzhin).
Detect Linux kernel version at runtime to support nested epoll functionality required for async_socket_for_remote and use_hedged_requests, preventing remote queries from hanging.

Why it matters

This feature solves the problem of remote queries potentially getting stuck due to lack of support for nested epoll in certain Linux kernel versions. By detecting the kernel version at runtime, ClickHouse can safely enable async_socket_for_remote and use_hedged_requests, improving reliability and performance of remote query execution.

How to use it

The kernel version detection is automatic at runtime. Users simply need to enable async_socket_for_remote and/or use_hedged_requests settings in their ClickHouse configuration or queries to benefit from this fix without manual intervention.