ClickHouse® is a real-time analytics DBMS
Go to file
Azat Khuzhin 8556929f50 Fix mixing of send_timeout and receive_timeout
I've noticed this in one of production setups, where lots of queries are
executed with distributed_group_by_no_merge=2 (automatically vai
optimize_skip_unused_shards optimization) and
optimize_aggregation_in_order=1, with this two settings initiator may
not read from some shards (i.e. X) for quite long period of time,
because it reads from other shards (i.e. Y) and it does not need
any data from X yet (due to it read everything in order), and this will
lead to query timeout, so timeouts had been increased.

Previously both timeouts had been tuned, but this leads to connection
hungs in case of abnormal machine reboots. So it is better to tune only
send_timeout (and this should be enough, since the only problem is the
sender) and this will allow to see that the connection is broken on the
initiator once it will read from this shard.

but after changing only send_timeout, the query still timedout, and the
reason is this place, which swaps this timeouts.

It had been introduced in 134efcd, with a comment:

    NOTE: We use send_timeout for the receive timeout and vice versa (change arguments ordering in TimeoutSetter),
     because send_timeout is client-side setting which has opposite meaning on the server side.

But it sounds odd to me, it may only make sense with the
clickhouse-client, since any other driver does not implement any server
settings.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-10-26 19:36:12 +02:00
.github upd reference 2023-10-23 15:13:30 +02:00
base Revert "Merge pull request #55682 from ClickHouse/revert-35961-decimal-column-improve-get-permutation" 2023-10-25 21:48:13 +03:00
benchmark Remove old file 2022-07-12 20:28:02 +02:00
cmake DWARF input format (#55450) 2023-10-16 17:00:07 -07:00
contrib Merge pull request #55775 from kitaisreal/decimal-column-improve-get-permutation-revert-revert 2023-10-26 12:36:57 +02:00
docker Merge pull request #56009 from Algunenano/stress_cont 2023-10-26 11:37:49 +02:00
docs Merge pull request #55641 from evillique/resubmit-cluster-groups 2023-10-26 15:53:53 +02:00
packages Write only filename to sha512 files for tarballs 2023-10-18 14:20:21 +02:00
programs Merge pull request #55641 from evillique/resubmit-cluster-groups 2023-10-26 15:53:53 +02:00
rust Disable skim under TSan (Rust does not supports ThreadSanitizer) 2023-10-09 12:37:40 +02:00
src Fix mixing of send_timeout and receive_timeout 2023-10-26 19:36:12 +02:00
tests Merge pull request #55521 from ClickHouse/fix-query-params-with-custom-http-handlers 2023-10-26 18:34:37 +02:00
utils Merge pull request #54364 from Joeywzr/master 2023-10-25 15:27:16 +02:00
.clang-format clang-format: Disable namespace indentation and omit {} in if/for/while 2023-09-12 19:20:22 +00:00
.clang-tidy Disable '-clang-analyzer-unix.Malloc' for now 2023-09-27 08:51:17 +00:00
.clangd Enable few slow clang-tidy checks for clangd 2023-05-13 14:08:25 +02:00
.editorconfig Changed tabs to spaces in editor configs and in style guide [#CLICKHOUSE-3]. 2017-04-01 11:35:09 +03:00
.exrc Fix vim settings (wrong group for autocmd) 2022-12-03 21:23:24 +01:00
.git-blame-ignore-revs Add files with revision to ignore for git blame 2022-09-13 23:05:56 +02:00
.gitattributes Ignore core.autocrlf for tests references 2022-10-05 09:13:27 +02:00
.gitignore Reproducible builds for Rust 2023-07-22 22:46:22 +02:00
.gitmodules impl (#55787) 2023-10-23 20:50:40 +02:00
.pylintrc Cover deprecated bad-* pylint options with black 2022-06-08 14:18:28 +02:00
.snyk Add exclusions from the Snyk scan 2022-10-31 17:47:02 +01:00
.yamllint Increase line-length limit for yamlllint 2023-06-13 19:45:51 +02:00
AUTHORS Update AUTHORS 2021-09-22 11:38:03 +03:00
CHANGELOG.md Merge pull request #55206 from den-crane/patch-61 2023-10-10 01:39:02 +02:00
CMakeLists.txt DWARF input format (#55450) 2023-10-16 17:00:07 -07:00
CODE_OF_CONDUCT.md Add minimal code of conduct #9676 2020-03-16 12:44:28 +03:00
CONTRIBUTING.md Mention ClickHouse CLA in CONTRIBUTING.md (#32697) 2021-12-14 03:47:19 +03:00
format_sources allow several <graphite> targets (#603) 2017-03-21 23:08:09 +04:00
LICENSE Update LICENSE 2023-01-02 00:35:32 +01:00
PreLoad.cmake Revert "Check what will happen if we build ClickHouse with Musl" 2023-09-04 22:01:10 +02:00
README.md Update README.md 2023-10-08 17:42:15 +02:00
SECURITY.md Update version_date.tsv and changelogs after v23.9.1.1854-stable 2023-09-29 07:04:45 +00:00

ClickHouse — open source distributed column-oriented DBMS

ClickHouse® is an open-source column-oriented database management system that allows generating analytical data reports in real-time.

How To Install (Linux, macOS, FreeBSD)

curl https://clickhouse.com/ | sh

Upcoming Events

Also, keep an eye out for upcoming meetups around the world. Somewhere else you want us to be? Please feel free to reach out to tyler clickhouse com.

Recent Recordings

  • Recent Meetup Videos: Meetup Playlist Whenever possible recordings of the ClickHouse Community Meetups are edited and presented as individual talks. Current featuring "Modern SQL in 2023", "Fast, Concurrent, and Consistent Asynchronous INSERTS in ClickHouse", and "Full-Text Indices: Design and Experiments"
  • Recording available: v23.6 Release Webinar All the features of 23.6, one convenient video! Watch it now!
  • All release webinar recordings: YouTube playlist

Interested in joining ClickHouse and making it your full-time job?

We are a globally diverse and distributed team, united behind a common goal of creating industry-leading, real-time analytics. Here, you will have an opportunity to solve some of the most cutting-edge technical challenges and have direct ownership of your work and vision. If you are a contributor by nature, a thinker and a doer - well definitely click!

Check out our current openings here: https://clickhouse.com/company/careers

Cant find what you are looking for, but want to let us know you are interested in joining ClickHouse? Email careers@clickhouse.com!