ClickHouse® is a real-time analytics DBMS
Go to file
Azat Khuzhin e379b80d45 MADV_DONTNEED check in runtime for qemu (via patching jemalloc)
qemu does not support MADV_DONTNEED, and by not support it simply ignore
it (i.e. return 0 -- no error).

This issue has been "fixed" in #15590, however it just
terminates the process, and completely breaks clickhouse under qemu
(see also #15174).

But there is no need in such strong protection, we can stop using
madvise in jemalloc if MADV_DONTNEED does not work properly.
And this is what #18169 was tried to do (by override madvise), however
this will break sanitizers, at least TSAN and UBSAN.
The problem there is that sanitizers initialization code uses madvise
(and there is no way to turn this off with TSAN_OPTIONS) and overwritten
madvise function will have sanitizers traits (__tsan_func_entry), while
TSAN is not ready for this, and eventually it SIGSEGV.
Interesting thing is that in the recent clang-12, madvise was replaced
with direct syscall [1].

  [1]: 9f8c4039f2

But it is better to make clickhouse compatible with clang < 12 too, so
instead of override madvise completely, the runtime check was moved into
the jemalloc code [2].

  [2]: https://github.com/ClickHouse-Extras/jemalloc/pull/1
2020-12-19 15:34:12 +03:00
.github Add comment. 2020-12-18 23:56:11 +03:00
base Add connection thread metrics 2020-12-18 15:22:55 +08:00
benchmark Convert to python3 (#15007) 2020-10-02 19:54:07 +03:00
cmake Merge pull request #18114 from azat/20.13-gcc10-sanitizers 2020-12-19 12:54:36 +03:00
contrib MADV_DONTNEED check in runtime for qemu (via patching jemalloc) 2020-12-19 15:34:12 +03:00
debian doc minor changes, cleanup, krb5-user as a recommended package 2020-12-16 14:48:33 +03:00
docker Merge pull request #18208 from vzakaznikov/update_testflows_version_to_1.6.72 2020-12-18 18:03:00 +03:00
docs Merge pull request #18218 from Jokser/s3-docs 2020-12-18 22:05:45 +03:00
programs MADV_DONTNEED check in runtime for qemu (via patching jemalloc) 2020-12-19 15:34:12 +03:00
src Merge pull request #18114 from azat/20.13-gcc10-sanitizers 2020-12-19 12:54:36 +03:00
tests MADV_DONTNEED check in runtime for qemu (via patching jemalloc) 2020-12-19 15:34:12 +03:00
utils Merge pull request #18199 from ClickHouse/add_one_more_test_in_util 2020-12-17 22:52:15 +03:00
website Added results from MacBook Pro 2020-12-13 04:51:56 +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 ANTLR4 Grammar for ClickHouse and new parser (#11298) 2020-12-04 05:15:44 +03:00
.gitmodules Remove dependency on too new glibc 2020-12-16 19:30:23 +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-12-14 23:07:28 +03:00
CMakeLists.txt Disable memory tracking for gcc TSAN/ASAN 2020-12-16 21:31:03 +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 Delete last event from README.md 2020-12-03 21:31: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