Commit Graph

2728 Commits

Author SHA1 Message Date
jinjunzh
08907f8220 change HAVE_AVX512 in qpl cmake to ENABLE_AVX512 2022-07-05 16:54:17 -04:00
jinjunzh
ba38969e9c enable qpl for clickhouse-keeper build 2022-07-05 15:28:41 -04:00
jinjunzh
463c03b84e improve qpl section in CMakefile:remove windows build flag, modify qpl build option dependency on avx2/avx512 2022-07-05 14:08:44 -04:00
Kseniia Sumarokova
3e803006a2
Merge pull request #37171 from tchepavel/nats-integration
Nats Integration
2022-07-05 17:47:02 +02:00
Suzy Wang
93e2921edb Merge remote-tracking branch 'upstream/master' into thrift_update 2022-07-05 07:18:13 -07:00
jinjunzh
8b008fb726 remove nasm as a submodule 2022-07-05 09:42:44 -04:00
Nikita Mikhaylov
736fa4bb72
Update libprotobuf-mutator + fix build (#38834) 2022-07-05 12:31:50 +02:00
kssenii
7a4be3b748 Fix build, disable for freebsd 2022-07-05 12:10:49 +02:00
Alexey Milovidov
0def9a89f7 Update simdjson 2022-07-05 06:08:44 +02:00
Kseniia Sumarokova
6c3d648f49
Merge branch 'master' into nats-integration 2022-07-04 21:06:07 +02:00
Arthur Passos
6c987fb28e Minor adjustments 2022-07-04 10:13:50 -03:00
Arthur Passos
5c00dcd884 Link cpp-dns/udns unconditionally and update submodules to clickhouse fork 2022-07-04 10:07:03 -03:00
Arthur Passos
78519847a6 Fix wrong udns submodule 2022-07-04 10:05:56 -03:00
Arthur Passos
e030d49d97 Remove unnecessary CMake comments 2022-07-04 10:05:30 -03:00
Arthur Passos
d66154e697 Test host_regexp against all PTR records instead of only one 2022-07-04 10:05:28 -03:00
Azat Khuzhin
cd2d053ce5 Update poco to fix GCS via proxy tunnel usage
GCS server does not handle requests with port, and simply report an
error:

```xml
    <?xml version="1.0"?>
    <?xml version='1.0' encoding='UTF-8'?>
    <Error>
        <Code>InvalidURI</Code>
        <Message>Couldn't parse the specified URI.</Message>
        <Details>Invalid URL: storage.googleapis.com:443/...</Details>
    </Error>
```

Removing the port fixes the issue. Note that there is port in the Host
header anyway.

Note, this is a problem only for proxy in a tunnel mode, since only it
sends such requests, other sends requests directly via HTTP methods.

Refs: https://github.com/ClickHouse/poco/pull/22#22 (cc @Jokser)
Refs: https://github.com/ClickHouse/poco/pull/63
Refs: #38069 (cc @CurtizJ)
Cc: @alesapin @kssenii

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-04 08:46:10 +03:00
Azat Khuzhin
e8f5cd3c68 Add separate option to omit symbols from heavy contrib
Sometimes it is useful to build contrib with debug symbols for further
debugging.

With everything turned ON (i.e. debug build) I got 3.3GB vs 3.0GB w/o
this patch, 9% bloat, thoughts about this is this OK or not for you, if
not STRIP_DEBUG_SYMBOLS_HEAVY_CONTRIB can be OFF by default (regardless
of build type).

P.S. aws debug symbols adds just 1.7%.
v2: rename STRIP_HEAVY_DEBUG_SYMBOLS
v3: OMIT_HEAVY_DEBUG_SYMBOLS
v4: documentation had been removed
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-02 06:32:03 +03:00
Yakov Olkhovskiy
ab7bdd856f
Merge pull request #38599 from ClibMouse/mcc_zlib_removal
Remove zlib in mariadb-connector-c
2022-06-29 20:27:37 -04:00
Suzy Wang
eb3f49426c Remove zlib in mariadb-connector-c 2022-06-29 10:03:55 -07:00
Maksim Kita
24e8ba5f9a
Merge pull request #38540 from ClickHouse/update-poco
Update poco
2022-06-29 11:02:43 +02:00
jinjunzh
fe451a4317 remove compress sync interface 2022-06-28 22:52:11 -04:00
Yakov Olkhovskiy
e78db73078 update poco 2022-06-28 12:56:43 -04:00
Yakov Olkhovskiy
52d6b45a09 update poco 2022-06-28 12:37:07 -04:00
Suzy Wang
b014df386e Merge remote-tracking branch 'upstream/master' into thrift_update 2022-06-27 12:14:14 -07:00
jasperzhu
b2f98fa73b
Merge branch 'master' into dev_intel_iaa_deflate 2022-06-27 10:21:21 +08:00
Peng Liu
03b846e112
Merge branch 'ClickHouse:master' into master 2022-06-27 09:38:48 +08:00
Alexey Milovidov
b3098822e0
Merge pull request #38171 from ClickHouse/hyper-to-vectorscan
Replace hyperscan by vectorscan
2022-06-26 10:01:45 +03:00
Robert Schulze
07f14c9bb2
Disable vectorscan-on-ARM for now 2022-06-26 00:03:01 +02:00
Alexey Milovidov
13a6254e1e Correct submodule 2022-06-25 01:45:38 +02:00
Andrey Zvonov
ea73d9c492
Merge branch 'master' into zvonand-base58 2022-06-24 21:37:20 +03:00
Alexander Tokmakov
cfe0e434e5
Revert "Add support for io_uring read method" 2022-06-24 12:19:41 +03:00
Robert Schulze
2c828338f4
Replace hyperscan by vectorscan
This commit migrates ClickHouse to Vectorscan. The first 10 min of
[0] explain the reasons for it.

(*) Addresses (but does not resolve) #38046

(*) Config parameter names (e.g. "max_hyperscan_regexp_length") are
    preserved for compatibility. Likewise, error codes (e.g.
    "ErrorCodes::HYPERSCAN_CANNOT_SCAN_TEXT") and function/class names (e.g.
    "HyperscanDeleter") are preserved as vectorscan aims to be a drop-in
    replacement.

[0] https://www.youtube.com/watch?v=KlZWmmflW6M
2022-06-24 10:47:52 +02:00
Andrey Zvonov
c18d09a617
Merge branch 'master' into zvonand-base58 2022-06-24 07:05:49 +03:00
Alexey Milovidov
812ab9bd6b
Merge pull request #36103 from sauliusvl/uring
Add support for io_uring read method
2022-06-24 00:34:29 +03:00
Suzy Wang
45f94c3d23 Add new files to makefile for thrift 0.16.0 2022-06-23 14:01:45 -07:00
Alexey Milovidov
e7c8023ef5
Merge pull request #38201 from ClickHouse/revert-35914-FIPS_compliance
Revert "ClickHouse's boringssl module updated to the official version of the FIPS compliant."
2022-06-23 20:22:03 +03:00
mergify[bot]
234f0c6399
Merge branch 'master' into revert-35914-FIPS_compliance 2022-06-23 12:06:17 +00:00
zvonand
946117ec89 Merge branch 'master' of github.com:ClickHouse/ClickHouse into zvonand-base58 2022-06-23 17:04:40 +05:00
zvonand
267025c35b update base-x cmakelists 2022-06-23 16:51:15 +05:00
Robert Schulze
42e70b7cd3
Document why the submodule check does not halt the configuration 2022-06-23 13:41:05 +02:00
Suzy Wang
4deddbf900 Update thrift to 0.16.0(latest) 2022-06-21 12:28:40 -07:00
Robert Schulze
0d80874d40
Merge pull request #38068 from ClickHouse/clang-tsa
Support for Clang Thread Safety Analysis (TSA)
2022-06-21 20:19:33 +02:00
Suzy Wang
1a23dfa827 Update thrift to 0.13.0 2022-06-21 06:54:54 -07:00
Saulius Valatka
a7152fe5ec bump liburing 2022-06-21 13:20:46 +03:00
Saulius Valatka
7b5e13a9eb implement pending request queue to prevent CQ overflows, more error checking, reduce size of io_uring 2022-06-21 13:17:56 +03:00
Saulius Valatka
6bbabf59d9 simplify build, add read method randomized tests, fix typos 2022-06-21 09:59:46 +03:00
Saulius Valatka
3f755a2505 add liburing to build 2022-06-21 09:59:46 +03:00
zvonand
22af00b757 rename variable + fix handling of ENABLE_LIBRARIES 2022-06-20 23:53:47 +05:00
Robert Schulze
55b39e709d
Merge remote-tracking branch 'origin/master' into clang-tsa 2022-06-20 16:39:32 +02:00
Robert Schulze
5a4f21c50f
Support for Clang Thread Safety Analysis (TSA)
- TSA is a static analyzer build by Google which finds race conditions
  and deadlocks at compile time.

- It works by associating a shared member variable with a
  synchronization primitive that protects it. The compiler can then
  check at each access if proper locking happened before. A good
  introduction are [0] and [1].

- TSA requires some help by the programmer via annotations. Luckily,
  LLVM's libcxx already has annotations for std::mutex, std::lock_guard,
  std::shared_mutex and std::scoped_lock. This commit enables them
  (--> contrib/libcxx-cmake/CMakeLists.txt).

- Further, this commit adds convenience macros for the low-level
  annotations for use in ClickHouse (--> base/defines.h). For
  demonstration, they are leveraged in a few places.

- As we compile with "-Wall -Wextra -Weverything", the required compiler
  flag "-Wthread-safety-analysis" was already enabled. Negative checks
  are an experimental feature of TSA and disabled
  (--> cmake/warnings.cmake). Compile times did not increase noticeably.

- TSA is used in a few places with simple locking. I tried TSA also
  where locking is more complex. The problem was usually that it is
  unclear which data is protected by which lock :-(. But there was
  definitely some weird code where locking looked broken. So there is
  some potential to find bugs.

*** Limitations of TSA besides the ones listed in [1]:

- The programmer needs to know which lock protects which piece of shared
  data. This is not always easy for large classes.

- Two synchronization primitives used in ClickHouse are not annotated in
  libcxx:
  (1) std::unique_lock: A releaseable lock handle often together with
      std::condition_variable, e.g. in solve producer-consumer problems.
  (2) std::recursive_mutex: A re-entrant mutex variant. Its usage can be
      considered a design flaw + typically it is slower than a standard
      mutex. In this commit, one std::recursive_mutex was converted to
      std::mutex and annotated with TSA.

- For free-standing functions (e.g. helper functions) which are passed
  shared data members, it can be tricky to specify the associated lock.
  This is because the annotations use the normal C++ rules for symbol
  resolution.

[0] https://clang.llvm.org/docs/ThreadSafetyAnalysis.html
[1] https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/42958.pdf
2022-06-20 16:13:25 +02:00
Rafael Acevedo
51035ee300
Update librdkafka
Update to get fixes from https://github.com/ClickHouse/librdkafka/pull/5

Refs https://github.com/ClickHouse/ClickHouse/issues/38151
2022-06-20 07:19:58 -03:00
zvonand
832fd6e0a9 Added tests + minor updates 2022-06-19 23:10:28 +05:00
Alexey Milovidov
0cf88e0950
Revert "ClickHouse's boringssl module updated to the official version of the FIPS compliant." 2022-06-18 23:16:18 +03:00
alesapin
0ae0cc54aa
Merge pull request #38106 from ClickHouse/tsan_less_flaky_tests
Some fixes for tests with tsan
2022-06-18 14:22:43 +02:00
Alexey Milovidov
d43492a512
Merge pull request #37795 from DevTeamBK/curl_upgrade
Upgrade curl to 7.83.1
2022-06-18 04:14:09 +03:00
alesapin
ca33ff93cb
Merge pull request #37555 from ClickHouse/revert-37534-revert-37036-keeper-preprocess-operations
Add support for preprocessing ZooKeeper operations and real-time digest in `clickhouse-keeper`
2022-06-16 17:29:00 +02:00
Suzy Wang
b80b9ec8b9 Merge branch 'master' into curl_upgrade 2022-06-16 08:09:15 -07:00
jasperzhu
bca18b2caf
Merge branch 'master' into dev_intel_iaa_deflate 2022-06-16 08:56:27 +08:00
Daniel Kutenin
a769dea8ef
Merge branch 'ClickHouse:master' into master 2022-06-15 19:12:10 +01:00
Alexander Tokmakov
9cac78b498 make tests with tsan less flaky 2022-06-15 19:54:46 +02:00
Maksim Kita
5729210f22
Merge pull request #37797 from kitaisreal/libunwind-update-version
libunwind update version
2022-06-15 19:32:42 +02:00
Danila Kutenin
08e3f77a9c Optimize most important parts with NEON SIMD
First part, updated most UTF8, hashing, memory and codecs. Except
utf8lower and upper, maybe a little later.

That includes huge amount of research with movemask dealing. Exact
details and blog post TBD.
2022-06-15 13:19:29 +00:00
mergify[bot]
68d043869c
Merge branch 'master' into libunwind-update-version 2022-06-15 11:43:01 +00:00
Maksim Kita
1c841fadcd Updated libunwind 2022-06-15 10:59:23 +02:00
zvonand
c149c916ec initial setup 2022-06-15 11:49:55 +05:00
mergify[bot]
17cc36e0e2
Merge branch 'master' into grpc_update_to_PR9 2022-06-15 02:10:38 +00:00
Antonio Andelic
b7bd5a8eb1 Merge branch 'master' into revert-37534-revert-37036-keeper-preprocess-operations 2022-06-14 12:51:35 +00:00
Maksim Kita
4a37e36d78 Updated libunwind 2022-06-14 12:52:52 +02:00
Antonio Andelic
e5504f1b33 Merge branch 'master' into revert-37534-revert-37036-keeper-preprocess-operations 2022-06-13 15:43:10 +00:00
Robert Schulze
027fe1db9d
Merge pull request #37970 from ClickHouse/color_diagnostics
Always disable --color-diagnostics for LLVM
2022-06-13 13:32:19 +02:00
Maksim Kita
fb54a1cb6a Updated libunwind 2022-06-13 11:44:45 +02:00
Maksim Kita
8907c4b5b0 Updated libunwind 2022-06-13 11:44:45 +02:00
Maksim Kita
25a886a78c libunwind update version fix sanitizers 2022-06-13 11:44:45 +02:00
Maksim Kita
d8c4af725a libunwind update version 2022-06-13 11:44:45 +02:00
Robert Schulze
0696ee3758
Always disable --color-diagnostics for LLVM
The flag is not only not recognized on MacOS, it is not recognized by
the gold linker in general.
2022-06-10 10:39:38 +02:00
Antonio Andelic
2c37fe3d7b Merge branch 'master' into revert-37534-revert-37036-keeper-preprocess-operations 2022-06-06 12:39:55 +00:00
jinjunzh
c7ca746994 fixed build issues in clickhouse-keeper 2022-06-05 14:46:28 -04:00
Peng Liu
6de7590af4 compile the new libgsasl with supportting three modes(privacy/integrity/authentication) 2022-06-04 23:30:38 +08:00
Bharat Nallan Chakravarthy
5fb9336159 add ssl version to build options 2022-06-04 15:31:08 +05:30
jinjunzh
2170a99484 revise ENABLE_QPL_COMPRESSION build option 2022-06-03 21:06:55 -04:00
Alexey Milovidov
4387379090
Merge pull request #37745 from DevTeamBK/libxml2_upgrade
Upgrade libxml2 to 2.9.14
2022-06-02 18:39:09 +03:00
jinjunzh
041a8e42ca revise code style 2022-06-02 10:34:11 -04:00
Antonio Andelic
7ee47fc5bb Merge branch 'master' into revert-37534-revert-37036-keeper-preprocess-operations 2022-06-02 13:38:52 +00:00
Alexey Milovidov
eef6a5ec96
Revert "Remove resursive submodules" 2022-06-02 09:41:12 +03:00
Suzy Wang
17fb5d8068 upgrade curl to 7.83.1 2022-06-01 21:30:02 -07:00
jinjunzh
e1426c7e9d add build option for iaa compression 2022-06-01 11:47:43 -04:00
Robert Schulze
7813cf5a8b
Merge pull request #37719 from ClickHouse/lib-dependency-mgmt
Fix build with -DENABLE_LIBRARIES=0
2022-06-01 16:53:49 +02:00
Suzy Wang
9bef38effb Upgrade libxml2 to 2.9.14 2022-06-01 06:10:05 -07:00
mergify[bot]
4aefcf29e3
Merge branch 'revert-37534-revert-37036-keeper-preprocess-operations' into keeper-real-time-digest 2022-06-01 10:17:49 +00:00
Robert Schulze
393b97763a
Make SSL a mandatory dependency for now
- SSL is a dependency of too many libs + unit tests (via poco crypto
  which requires SSL)

- optional SSL is desirable but right now, turning off SSL (via
  -DENABLE_LIBRARIES=0 or =DENABLE_SSL=0) breaks the build

- therefore make SSL mandatory for now + add a TODO comment
2022-06-01 11:26:24 +02:00
Robert Schulze
933f98a900
Removed warning flags in contribs
warnings are disabled for all contribs in contrib/CMakeLists.txt already
2022-06-01 11:02:39 +02:00
Robert Schulze
a4e037c728
Remove unused M_LIBRARY link 2022-06-01 11:02:39 +02:00
Robert Schulze
12871a43e1
Cosmetics 2022-06-01 11:02:39 +02:00
Robert Schulze
249fe561f4
Fix build with -DENABLE_LIBRARIES=0 / -DENABLE_REPLXX=0
Replxx: When disabled via -DENABLE_LIBRARIES=0 or -DENABLE_REPLXX (the
latter was undocumented) the build broke because replxx symbols were
used since [0] in header LineReader.h. This header should in theory
stay clean of replxx but doesn't for efficiency reasons.

This change makes compilation of replxx mandatory. As replxx is quite
small, I guess this is okay. (The alternative is to litter the code
with ifdefs for non-replxx and a replxx paths.)

[0] https://github.com/ClickHouse/ClickHouse/pull/33201
2022-06-01 10:02:28 +02:00
HarryLeeIBM
93be56a151 Update grpc submodule to PR 9 2022-05-31 14:12:44 -07:00
jinjunzh
330a46c418 Remove eigen library according to master commit: 7d0ed7e51a 2022-05-31 09:55:06 -04:00
alesapin
65057bf8c4
Merge pull request #37616 from ClickHouse/remove-resursive-submodules
Remove resursive submodules
2022-05-31 11:58:04 +02:00
Robert Schulze
557bb2d235
Disable amqp-cpp and cassandra build if libuv is disabled
On MacOS/GCC, the libuv build is disabled due to a compiler bug. This
is now propagated to dependent libraries amqp-cpp and cassandra.
Oddly enough, the Mac/GCC build was broken since at least Jan 2022
without someone noticing.
2022-05-31 10:34:03 +02:00
jasperzhu
fc03af2259
Merge branch 'master' into dev_intel_iaa_deflate 2022-05-30 17:49:04 +08:00
jinjunzh
4857d6e2c3 add nasm into docker configuration 2022-05-30 17:45:26 -04:00