Commit Graph

91474 Commits

Author SHA1 Message Date
mergify[bot]
5b24939369
Merge branch 'master' into play-charts 2022-06-21 14:20:52 +00:00
Dan Roscigno
ca505c6d90
Merge pull request #38268 from DanRoscigno/37984-client-docs
DOCS: add H2 for Algolia indexing
2022-06-21 09:06:40 -04:00
Nikolai Kochetov
dcf6e0d060 Roll back some changes from IPartMetadataManager 2022-06-21 13:05:49 +00:00
Alexander Tokmakov
f3ea8ad745 support CREATE EMPTY AS SELECT 2022-06-21 15:03:58 +02:00
Kruglov Pavel
8bf78dbc95
Add comment 2022-06-21 14:32:12 +02:00
Nikolai Kochetov
854d148d73 Add some comments. Remove some commented code. 2022-06-21 12:31:02 +00:00
DanRoscigno
d6149a210f add H2 for Algolia indexing 2022-06-21 08:20:30 -04:00
alesapin
cbec924113
Merge pull request #37932 from azat/tests-fix-log_comment
tests: fix log_comment (extra quotes)
2022-06-21 13:38:35 +02:00
Nikolai Kochetov
46c4fd6cf7 Fixing build. 2022-06-21 11:15:06 +00:00
Kruglov Pavel
3c5a627bd7
Merge pull request #38239 from CurtizJ/fix-reading-from-s3
Fix reading from s3 in some corner cases
2022-06-21 12:57:55 +02:00
Kruglov Pavel
685c94f93f
Merge pull request #38248 from ClickHouse/correct-docs
Fix wrong docs for client/local command line parameters.
2022-06-21 12:43:50 +02:00
mergify[bot]
f304fc9179
Merge branch 'master' into fix-alter-columns-with-dots 2022-06-21 10:40:53 +00:00
Nikolai Kochetov
1e8c9ecd4c Merge branch 'master' into refactor-something-in-part-volumes 2022-06-21 12:37:21 +02:00
Kruglov Pavel
b9b58b4305
Merge pull request #37759 from Avogar/fix-nothing-error
Fix possible logical error with type Nothing in some functions
2022-06-21 12:35:05 +02:00
alesapin
fafcb876be
Merge pull request #38182 from ClickHouse/disk_transaction
Disk transaction
2022-06-21 12:28:49 +02:00
Dale McDiarmid
5127fd95ed Add missing files 2022-06-21 11:27:56 +01:00
Nikolai Kochetov
b8d27aa8dd
Merge pull request #37469 from azat/projections-optimize_aggregation_in_order
Implement in order aggregation (optimize_aggregation_in_order) for projections for tables with fully materialized projections
2022-06-21 12:17:35 +02:00
Kseniia Sumarokova
71ee5dbbb2
Merge pull request #38227 from kssenii/diff-reduce
buffer's getFileSize small changes
2022-06-21 12:12:22 +02:00
Nikolai Kochetov
e45d552f4d Do not create empty folder for in-memory parts. 2022-06-21 09:59:46 +00:00
lgbo-ustc
eddb6443f2 rollback dockerd-entrypoint.sh 2022-06-21 16:25:24 +08:00
mergify[bot]
bdd5b94192
Merge branch 'master' into keeper-sequential-consistency-reads 2022-06-21 08:13:04 +00:00
lgbo-ustc
cdd7a54995 improve stability for hive intergration test 2022-06-21 15:59:54 +08:00
Alexander Tokmakov
a8232bed33
Merge pull request #38225 from racevedoo/update-librdkafka
Update librdkafka
2022-06-21 10:35:57 +03:00
Nikolai Kochetov
5232c17b89 Fix style 2022-06-21 07:30:45 +00:00
Nikolai Kochetov
3429a5e07a Fix 2022-06-21 07:26:43 +00:00
lgbo-ustc
633c3c8287 update hive test 2022-06-21 15:10:48 +08:00
Alexander Tokmakov
75b8800b5c
Merge pull request #37822 from ClickHouse/fix_flaky_tests_with_transactions
Try fix flaky tests with transactions
2022-06-21 09:38:25 +03:00
lgbo-ustc
fc641d9ce4 some changes 2022-06-21 11:29:55 +08:00
Alexey Milovidov
67ab194cd1
Merge pull request #38237 from ClickHouse/auto/v22.3.7.28-lts
Update version_date.tsv after v22.3.7.28-lts
2022-06-21 01:11:36 +03:00
Alexey Milovidov
7e9a3796e9 Fix wrong docs 2022-06-21 00:09:55 +02:00
Maksim Kita
cb018348cf
Merge pull request #38022 from kitaisreal/sorting-added-batch-queue-variants
Sorting added batch queue variants
2022-06-20 22:35:44 +02:00
zvonand
16cd39e4e4 Merge branch 'master' of github.com:ClickHouse/ClickHouse 2022-06-21 00:06:17 +05:00
Nikolai Kochetov
dccf90b1ea Cleanup. 2022-06-20 18:18:17 +00:00
mergify[bot]
9bdd9e14a6
Merge branch 'master' into fix_flaky_tests_with_transactions 2022-06-20 18:11:30 +00:00
Dmitry Novik
f6692c34e6
Merge pull request #34632 from excitoon-favorites/optimizedprocessing
Optimized processing of ORDER BY in window functions
2022-06-20 20:03:26 +02:00
Kseniia Sumarokova
2d039b739c
Update ReadBufferFromFileDescriptor.cpp 2022-06-20 19:13:20 +02:00
Kseniia Sumarokova
e48ce50863
Update ArrowBufferedStreams.cpp 2022-06-20 19:12:51 +02:00
alesapin
83ad0c8cc5
Merge pull request #38091 from ClickHouse/jepsen-add-perf-checkers
Add perf checkers to all Jepsen tests
2022-06-20 19:05:08 +02:00
Anton Popov
5b439d4117 add test 2022-06-20 16:08:43 +00:00
Alexander Tokmakov
0fa1fc66c4
Update 02232_dist_insert_send_logs_level_hung.sh 2022-06-20 18:55:17 +03:00
Anton Popov
59a9ce6def fix reading from s3 in some corner cases 2022-06-20 15:24:38 +00:00
kssenii
cea81822bd Fix 2022-06-20 17:19:36 +02:00
robot-clickhouse
4996236430 Update version_date.tsv after v22.3.7.28-lts 2022-06-20 14:41:14 +00:00
Robert Schulze
55b39e709d
Merge remote-tracking branch 'origin/master' into clang-tsa 2022-06-20 16:39:32 +02:00
Dale McDiarmid
6c2c408d9d Fix test for system table count in diag tool 2022-06-20 15:37:15 +01:00
Antonio Andelic
0c76fc1121 Fix style 2022-06-20 14:21:59 +00: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
Antonio Andelic
777ae72259 Merge branch 'master' into keeper-sequential-consistency-reads 2022-06-20 14:06:45 +00:00
Antonio Andelic
df31b562ec Use sync after reconnect to avoid stale reads 2022-06-20 14:05:51 +00:00
mergify[bot]
f3264e50ec
Merge branch 'master' into play-charts 2022-06-20 14:01:47 +00:00