Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Query receive timeout always uses default setting #4831

Open
ShivaS123 opened this issue Mar 28, 2019 · 2 comments
Open

Query receive timeout always uses default setting #4831

ShivaS123 opened this issue Mar 28, 2019 · 2 comments

Comments

@ShivaS123
Copy link

ShivaS123 commented Mar 28, 2019

ClickHouse server version 19.4.1.1

Whenever set receive_timeout is used (e.g. set receive_timeout=6000), the change is reflected in system.settings:

SELECT *
FROM system.settings
WHERE name IN ('max_execution_time', 'receive_timeout')
 
┌─name───────────────┬─value─┬─changed─┬─description─┐
│ receive_timeout    │ 6000  │       1 │             │
│ max_execution_time │ 0     │       0 │             │
└────────────────────┴───────┴─────────┴─────────────┘

However, a long query (e.g. optimize...final) always receives an error after 300 seconds:

Timeout exceeded while receiving data from server. Waited for 300 seconds, timeout is 300 seconds.
Cancelling query.

The only way to increase the receive_timeout is to connect with clickhouse-client --receive_timeout=6000

from processlist:

Settings.Names:       ['max_threads','connect_timeout_with_failover_ms','receive_timeout','send_timeout','use_uncompressed_cache','load_balancing','distributed_aggregation_memory_efficient','max_bytes_before_external_group_by','max_bytes_before_external_sort','max_memory_usage']
Settings.Values:      ['12','10000','6000','6000','0','random','1','30000000000','30000000000','60000000000']

(haven't checked other timeouts)

Thanks!

@ShivaS123 ShivaS123 added the bug Confirmed user-visible misbehaviour in official release label Mar 28, 2019
@alex-zaitsev
Copy link
Contributor

Could be related to #4215

@den-crane
Copy link
Contributor

I think this parameter is applied to CH server, when CH server is a client itself and executes a query against another server.

And it's not obvious how client should/can use this. Because if ch-client pulls value of this parameter from a server and use it then CH server also have to pull this when it plays as a client?

I think receive_timeout needs a better documentation. But it works as designed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants