ClickHouse® is a real-time analytics DBMS
Go to file
Azat Khuzhin 72d7b6117e Use total_memory_tracker when there is no other MemoryTracker object.
This should significantly reduce the MemoryTracking drift, test shows
that there is 0 drift after query storm (100 queries, via http/tcp/tcp
in one session).

TL;DR;

To track memory, clickhouse creates memory tracker object for each
thread **explicitly**, but until it is not created the memory
allocations are not under account.
There should not be lot of allocations w/o memory tracker, since most of
the time it is created early enough, but even this maybe enough to
trigger some problems.

Plus sometimes it is not possible to create it, for example some 3d
party library does not allow to do this explicitly:
- for example before #15740 allocations from librdkafka threads,
- or even worse, poco threads, they don't have any routines to do this.
This won't be a problem for `MemoryTracking` metric if the deallocation
will be done from the same thread w/o memory tracker (or vise versa),
but this is not always true.

NOTE, that this will slow down per-thread allocations w/o memory
tracker, since before this patch there were no memory tracking for them
while now they will be accounted in total_memory_tracker, and for
total_memory_tracker max_untracked_memory is always reached.
But this should not be significant.
2020-10-23 21:07:52 +03:00
.github Add experimental codecov.yml 2020-09-30 12:51:07 +03:00
base Merge branch 'master' into filipecaixeta-master 2020-10-14 15:27:58 +03:00
benchmark Convert to python3 (#15007) 2020-10-02 19:54:07 +03:00
cmake Merge pull request #11844 from Enmk/AES_encrypt_decrypt 2020-10-20 22:57:35 +03:00
contrib Merge branch 'master' into ldap-any-user-authentication 2020-10-14 16:46:37 +04:00
debian Merge branch 'master' into simplify-init-script 2020-10-20 21:08:42 +03:00
docker Merge pull request #15144 from ClickHouse/aku/numa-perf 2020-10-23 14:10:35 +03:00
docs DOCSUP-3121: Update the SHOW DATABASES and SHOW TABLES descriptions (#16115) 2020-10-23 18:11:02 +03:00
programs Use total_memory_tracker when there is no other MemoryTracker object. 2020-10-23 21:07:52 +03:00
src Use total_memory_tracker when there is no other MemoryTracker object. 2020-10-23 21:07:52 +03:00
tests Merge pull request #16205 from azat/do-not-cache-dictGet 2020-10-23 15:47:11 +03:00
utils Update version_date.tsv after release 20.10.2.20 2020-10-23 18:20:43 +03:00
website Update RedShift benchmarks 2020-10-01 09:57:07 +03:00
.arcignore Added .arcignore 2020-05-21 09:17:03 +03:00
.clang-format Fixed wrong code around Memory Profiler 2020-03-03 03:24:44 +03:00
.clang-tidy Enable clang-tidy for programs and utils 2020-05-18 04:19:50 +03:00
.editorconfig Changed tabs to spaces in editor configs and in style guide [#CLICKHOUSE-3]. 2017-04-01 11:35:09 +03:00
.gitattributes Decreased warning threshold [#MOBMET-3248] 2016-06-07 11:23:15 +03:00
.gitignore Fix build without libraries 2020-10-10 23:41:27 +03:00
.gitmodules Trying to fix race in AMQP-CPP 2020-10-06 14:00:52 +03:00
.potato.yml Update comments in .potato.yml 2019-10-20 12:50:33 +08:00
.vimrc Changed tabs to spaces in editor configs and in style guide [#CLICKHOUSE-3]. 2017-04-01 11:35:09 +03:00
AUTHORS Update AUTHORS 2020-01-23 17:36:05 +03:00
CHANGELOG.md Update CHANGELOG.md 2020-09-22 20:52:43 +03:00
CMakeLists.txt Merge pull request #15608 from danlark1/clang-pass-manager 2020-10-05 18:05:57 +03:00
CODE_OF_CONDUCT.md Add minimal code of conduct #9676 2020-03-16 12:44:28 +03:00
CONTRIBUTING.md Update CONTRIBUTING.md 2020-01-27 21:03:30 +03:00
docker-compose.yml Updated docker-compose.yml #1025 2017-07-26 20:05:32 +03:00
format_sources allow several <graphite> targets (#603) 2017-03-21 23:08:09 +04:00
LICENSE Update LICENSE 2020-01-23 17:38:30 +03:00
PreLoad.cmake Disable ninja for CLion 2019-09-11 10:23:20 +03:00
README.md Update README.md 2020-10-15 09:35:20 +03:00
release Convert to python3 (#15007) 2020-10-02 19:54:07 +03:00
SECURITY.md Update SECURITY.md 2020-10-01 19:17:11 +03:00
uncrustify.cfg Better .clang-format and uncrustify.cfg 2018-11-29 15:45:34 +03:00
ya.make Changes required for auto-sync with Arcadia 2020-04-16 15:31:57 +03: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.

  • Official website has quick high-level overview of ClickHouse on main page.
  • Tutorial shows how to set up and query small ClickHouse cluster.
  • Documentation provides more in-depth information.
  • YouTube channel has a lot of content about ClickHouse in video format.
  • Slack and Telegram allow to chat with ClickHouse users in real-time.
  • Blog contains various ClickHouse-related articles, as well as announcements and reports about events.
  • Code Browser with syntax highlight and navigation.
  • Yandex.Messenger channel shares announcements and useful links in Russian.
  • Contacts can help to get your questions answered if there are any.
  • You can also fill this form to meet Yandex ClickHouse team in person.

Upcoming Events