Commit Graph

2839 Commits

Author SHA1 Message Date
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
mergify[bot]
f3264e50ec
Merge branch 'master' into play-charts 2022-06-20 14:01:47 +00:00
mergify[bot]
2d25daf64d
Merge branch 'master' into clickhouse-disks-fixes 2022-06-20 11:20:59 +00:00
Kseniia Sumarokova
a756b4be27
Merge pull request #37391 from azat/insert-profile-events-fix
Send profile events for INSERT queries (previously only SELECT was supported)
2022-06-20 12:16:29 +02:00
lingpeng0314
1d463718ca Change getKeeperDispatcher error type 2022-06-20 17:11:15 +08:00
Alexey Milovidov
240d896eb4 Add primitive charting capabilities 2022-06-18 18:20:53 +02:00
Alexey Milovidov
eba897d4ec Add primitive charting capabilities 2022-06-18 18:15:45 +02:00
Maksim Kita
6b748f2193 AArch64 enable trace collection 2022-06-17 17:53:51 +02:00
kssenii
7520bfeab7 Fix 2022-06-16 19:50:09 +02: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
Azat Khuzhin
3b29db6e9f LocalServer: remove superfluous ProgressIndicator.h
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-06-16 11:59:01 +03:00
jasperzhu
bca18b2caf
Merge branch 'master' into dev_intel_iaa_deflate 2022-06-16 08:56:27 +08:00
Robert Schulze
b936abe813
+ comments about keeping stuff in sync 2022-06-16 00:07:59 +02:00
Robert Schulze
bc46cef63c
Minor follow-up
- change ELF section name to ".clickhouse.hash" (lowercase seems
  standard)

- more expressive/concise integrity check messages at startup
2022-06-14 08:52:13 +00: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
bc6f30fd40
Move binary hash to ELF section ".ClickHouse.hash" 2022-06-13 08:46:23 +00:00
Robert Schulze
1a0b5f33b3
More consistent use of platform macros
cmake/target.cmake defines macros for the supported platforms, this
commit changes predefined system macros to our own macros.

__linux__ --> OS_LINUX
__APPLE__ --> OS_DARWIN
__FreeBSD__ --> OS_FREEBSD
2022-06-10 10:22:31 +02:00
Anton Popov
df6882d2b9
Revert "Fix errors of CheckTriviallyCopyableMove type" 2022-06-07 13:53:10 +02:00
Varinara
1f8fab41f1 Fixe2: allow config path at any position 2022-06-06 16:52:58 +03:00
Varinara
6aa9e5d649 Fixe: allow config path at any position 2022-06-06 16:52:58 +03:00
Varinara
e35d1460bf Corrections 2022-06-06 16:52:58 +03:00
Varinara
a330d3cb4a Corrections 2022-06-06 16:52:58 +03:00
Varinara
f5d4e9ccc1 Corrections 2022-06-06 16:52:58 +03:00
Varinara
354ef2e3b8 Corrections 2022-06-06 16:52:58 +03:00
Varinara
51409703e0 Corrections 2022-06-06 16:52:58 +03:00
Varinara
ed6e8176fe Add basic commands for disk tool (list-disks, list, move, remove, link, copy, read, write) + tests 2022-06-06 16:52:58 +03:00
Antonio Andelic
2c37fe3d7b Merge branch 'master' into revert-37534-revert-37036-keeper-preprocess-operations 2022-06-06 12:39:55 +00:00
Robert Schulze
2d87af2a15
Merge pull request #37647 from DevTeamBK/Fix-all-CheckTriviallyCopyableMove-Errors
Fix errors of CheckTriviallyCopyableMove type
2022-06-05 19:58:47 +02:00
Alexey Milovidov
1529d47207
Merge pull request #34754 from ClickHouse/llvm-14
Switch to clang/llvm 14
2022-06-03 14:07:34 +03:00
Nikolai Kochetov
bc166e4394
Merge pull request #37543 from ClickHouse/refactor-read-metrics-and-callbacks
Refactor read metrics and callbacks
2022-06-03 09:43:25 +02:00
HeenaBansal2009
e3080f2a97 Merge remote-tracking branch 'origin' into Fix-all-CheckTriviallyCopyableMove-Errors 2022-06-02 07:30:08 -07:00
Antonio Andelic
7ee47fc5bb Merge branch 'master' into revert-37534-revert-37036-keeper-preprocess-operations 2022-06-02 13:38:52 +00:00
mergify[bot]
f678fdb0c2
Merge branch 'master' into tonickkozlov/odbc-disable-connection-pooling 2022-06-02 13:08:30 +00:00
Nikolai Kochetov
edac3d6714 Merge branch 'master' into refactor-read-metrics-and-callbacks 2022-06-02 09:36:20 +00:00
Alexey Milovidov
b5f48a7d3f Merge branch 'master' of github.com:ClickHouse/ClickHouse into llvm-14 2022-06-01 22:09:58 +02:00
Alexey Milovidov
bac09770f1 Fix clang-tidy-14 2022-06-01 22:07:26 +02:00
Nikolai Kochetov
6e924cdc77 Fix some more tests. 2022-06-01 15:21:47 +00:00
Dmitry Novik
7fbe91ca81
Merge pull request #37460 from ClickHouse/memory-overcommit-improvement
Memory Overcommit: update defaults, exception message and add ProfileEvent
2022-06-01 17:06:33 +02: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
Anton Kozlov
e9d645168e Renamed ODBCConnectionFactory to ODBCPooledConntionFactory 2022-06-01 09:00:39 +00:00
Nikolai Kochetov
86fbb74703 Merge branch 'master' into refactor-read-metrics-and-callbacks 2022-05-31 18:07:47 +00:00
Roman Vasin
b7cde2c5ad Remove total_max_threads logic from QueryPipelineBuilder; Add setMaxConcurrency(total_max_threads) in Server.cpp 2022-05-31 19:43:15 +03:00
Anton Kozlov
3576625647 CLICKHOUSE-2131 Add an option to disable connection pooling in ODBC bridge 2022-05-31 16:26:08 +00:00
Alexey Milovidov
4bb04f913f Fix clang-tidy-14 2022-05-31 17:20:07 +02:00
mergify[bot]
ba49c6bb46
Merge branch 'master' into memory-overcommit-improvement 2022-05-31 13:17:06 +00:00
Roman Vasin
441bd3e81f Merge remote-tracking branch 'origin/concurrency-control' into ADQM-445 2022-05-31 15:07:02 +03:00
Sergei Trifonov
026e073b0b minor improvement 2022-05-31 13:50:09 +02:00
HeenaBansal2009
1823f736cc Some more CheckTriviallyCopyableMove fix 2022-05-31 04:11:11 -07:00
Sergei Trifonov
7e95bf31b2 more verbose sanity checks 2022-05-31 09:26:26 +02:00
jasperzhu
fc03af2259
Merge branch 'master' into dev_intel_iaa_deflate 2022-05-30 17:49:04 +08:00
Nikolai Kochetov
5b4658aa5e Merge branch 'master' into refactor-read-metrics-and-callbacks 2022-05-30 09:47:35 +00:00
Dmitry Novik
60b9d81773 Remove global_memory_usage_overcommit_max_wait_microseconds 2022-05-27 16:30:29 +00:00
Azat Khuzhin
dc9ca3d70c
Fix LOGICAL_ERROR in getMaxSourcePartsSizeForMerge during merges (#37413) 2022-05-26 14:14:58 +02:00
Nikolai Kochetov
84f97b53de Merge branch 'master' into refactor-read-metrics-and-callbacks 2022-05-26 11:07:45 +00:00
Alexey Milovidov
f321925032
Merge pull request #36341 from ClickHouse/allow-setuid-inside-clickhouse
Allow to drop privileges at startup
2022-05-26 01:07:04 +03:00
Nikolai Kochetov
1b85f2c1d6 Merge branch 'master' into refactor-read-metrics-and-callbacks 2022-05-25 16:27:40 +02:00
Antonio Andelic
fe72cd7478 Merge branch 'master' into keeper-real-time-digest 2022-05-25 07:41:31 +00:00
Alexey Milovidov
0b5cfa4094 Fix split build 2022-05-25 04:24:02 +02:00
Alexey Milovidov
4556904dae Fix stress test 2022-05-25 04:21:25 +02:00
guykohen
938e766d7e Remove height restrictions from the query div in play web tool, and make sure width of the query box won't shrink below 100%.
Default height is set to 20% which should be big enough for medium queries.
2022-05-24 20:32:13 -04:00
guykohen
0036b1a6ee Remove height restrictions from the query div in play web tool, and make sure width of the query box won't shrink below 100%. 2022-05-24 18:24:54 -04:00
Alexey Milovidov
d773bd610d
Revert "Remove height restrictions from the query div in play web tool, and m…" 2022-05-25 00:58:57 +03:00
Alexey Milovidov
516fba27dc Merge branch 'master' into allow-setuid-inside-clickhouse 2022-05-24 23:31:14 +02:00
Nikolai Kochetov
3d84aae0ab Better. 2022-05-24 20:06:08 +00:00
Nikolai Kochetov
333fd09dbf Fixing build. 2022-05-24 19:29:00 +00:00
guyco87
ee33f95160
Merge branch 'master' into adjustable-query-block 2022-05-24 12:23:54 -04:00
guykohen
e8b329595e Remove height restrictions from the query div in play web tool, and make sure width of the query box won't shrink below 100%. 2022-05-24 12:18:58 -04:00
Vitaly Baranov
497c70d786
Merge pull request #37269 from vitlibar/rework-access-control-notifications
Rework AccessControl's notifications.
2022-05-24 17:47:45 +02:00
Roman Vasin
2491213166 Set default value to 0 for total_max_threads parameter. Code style cleanup. 2022-05-24 18:40:45 +03:00
Alexey Milovidov
fd7642b6aa Fix "splitted" build 2022-05-24 06:04:48 +02:00
Alexey Milovidov
29e6a7ed8c Keep controls in place when the page is scrolled horizontally 2022-05-24 04:11:32 +02:00
Alexey Milovidov
5b1bdfc353 Fix error 2022-05-24 02:02:18 +02:00
Alexey Milovidov
e8c08cda0d Fix error in static-files-disk-uploader 2022-05-24 01:38:17 +02:00
Alexey Milovidov
ee0a8f3251 Fix exception messages 2022-05-24 01:37:17 +02:00
Dmitry Novik
e9187ec4b7 Overcommit: update defaults, exception message and add ProfileEvent 2022-05-23 14:35:09 +00:00
Alexey Milovidov
89c8d136c3 Fix error 2022-05-23 07:20:36 +02:00
Alexey Milovidov
03b118557c Fix error 2022-05-23 03:52:44 +02:00
Alexey Milovidov
39d157b9fb Fix error 2022-05-23 03:52:00 +02:00
Alexey Milovidov
b432ca93a1 Fix error 2022-05-23 03:11:12 +02:00
Alexey Milovidov
cc985d9b92 Fix error 2022-05-23 02:30:33 +02:00
Alexey Milovidov
2f93f11144 Maybe better 2022-05-23 02:03:13 +02:00
Alexey Milovidov
7ad8d48771 Merge branch 'master' into allow-setuid-inside-clickhouse 2022-05-23 01:09:08 +02:00
Vitaly Baranov
58f4a86ec7 Rework notifications used in access management. 2022-05-21 10:15:39 +02:00
Roman Vasin
83958d2549 Add more intergration tests. Add documenation text. Change thread_factor to 3. Add logging. Set default value = -1 to see the results CI tests. 2022-05-20 15:52:50 +03:00
Antonio Andelic
fc9beb2933 Merge branch 'master' into keeper-real-time-digest 2022-05-20 09:54:44 +00:00
Robert Schulze
b475fbc9a7
Merge pull request #37300 from ClickHouse/cmake-cleanup-pt3
Various cmake cleanups
2022-05-20 10:02:36 +02:00
Antonio Andelic
c133f815bd Merge branch 'keeper-preprocess-operations' into keeper-real-time-digest 2022-05-20 07:57:47 +00:00
Sergei Trifonov
2450ab9079
Merge pull request #36686 from azat/disk-least-used
Implement least_used load balancing algorithm for disks inside volume
2022-05-20 09:16:07 +02:00
Alexey Milovidov
03e3be7b1a Maybe fix error 2022-05-20 02:38:50 +02:00
Alexey Milovidov
d0d0807a10 Merge branch 'master' into allow-setuid-inside-clickhouse 2022-05-20 02:37:15 +02:00
Robert Schulze
c0d5705891
Merge pull request #37326 from ClickHouse/fix-marks-cache-size-cfg
Provide default value for mark_cache_size
2022-05-19 20:20:25 +02:00
Antonio Andelic
f5759e2d7e Cache nodes latest state 2022-05-19 12:30:57 +00:00
Azat Khuzhin
ba26b3cf4c Implement lead_used load balancing algorithm for disks inside volume
v2: rebase on top removed raid1
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-05-19 14:10:11 +03:00
Azat Khuzhin
456444eadb Add storage_configuration example into config.xml
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-05-19 14:10:11 +03:00
Azat Khuzhin
29a8a00656 Add ability to pass QueryKind via clickhouse-client/local (useful for debugging)
v2: fix LocalConnection::sendQuery() for Suggest (comes w/o client_info) [1]
    [1]: https://s3.amazonaws.com/clickhouse-test-reports/37290/7c85175963226ff78eec542efafcff4e650aa0f0/stateless_tests__ubsan__actions_.html
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-05-19 07:19:27 +03:00
Robert Schulze
a2214760c6
Remove mark_cache_size from further files
- changed config.xml/yaml files used by CH's own internal tests which
  are (hopefully) not sensitive to mark_cache_size being set or not

- further occurrences exist but changing them seems a bad idea (e.g.
  because they are in customer-provided data)
2022-05-18 22:09:14 +02:00
Robert Schulze
8ca58cd5a5
Provide default value for mark_cache_size
I played around with my local config.xml file. The minimal working example is this:
<?xml version="1.0"?>
<clickhouse>
    <mark_cache_size>5368709120</mark_cache_size>
    <listen_host>localhost</listen_host>
    <tcp_port>9000</tcp_port>
    <users_config>users.xml</users_config>
    <logger><console>true</console></logger>
</clickhouse>

Not specifying mark_cache_size made the server not start up:
  2022.05.18 12:15:06.549078 [ 8728320 ] {} <Error> Application: Not found: mark_cache_size

Looking at ClickHouse's ca. 100 server configuration options +
sub-options, it seems that mark_cache_size is NOT special enough to
require explicit configuration but instead that the behavior was
unintended because no default value was provided.
2022-05-18 15:28:19 +02:00
Roman Vasin
e966016c1a Corrected all issues found by Style Check (actions). Renamed setGlobalMaxThreads into setTotalMaxThreads. 2022-05-17 19:35:40 +03:00
Vitaly Baranov
f34a5cdee2
Merge branch 'master' into ON_CLUSTER-grant 2022-05-17 13:21:20 +02:00
Vitaly Baranov
23a61b1596
Merge pull request #36700 from azat/fix-server-reload
Fix server reload on port change (do not wait for current connections from query context)
2022-05-17 12:25:21 +02:00
Roman Vasin
7cc63f3eed Removed logging code 2022-05-17 10:02:54 +03:00
Robert Schulze
43945cea1b
Fixing some warnings 2022-05-16 20:59:27 +02:00
Roman Vasin
159ea14739 Code cleanup. Corrected Loggers path. Refactoring Context code. 2022-05-16 19:48:17 +03:00
Alexey Milovidov
434b8fbf14
Revert "Remove height restrictions from the query div in play web tool." 2022-05-16 19:20:30 +03:00
Azat Khuzhin
c8420c0dbe Remove duplication for server connections check
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-05-16 16:22:58 +03:00
Azat Khuzhin
e503f1f22c Keep reloaded servers and currently active in one list
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-05-16 16:22:58 +03:00
Azat Khuzhin
f15a5461be Fix server reload on port change (do not wait for current connections)
If you will execute 'SYSTEM RELOAD CONFIG' via, i.e., TCP protocol, then
reload on port change will endlessly wait for connection from which this
query had been issued, and you will see the following message in the
logs:

    2022.04.28 03:34:57.552513 [ 37101 ] {b41d855c-4dbf-470a-a144-c6ae5a1abda8} <Debug> executeQuery: (from 127.0.0.1:11774) system reload config
    ...
    2022.04.28 03:34:57.710640 [ 37101 ] {b41d855c-4dbf-470a-a144-c6ae5a1abda8} <Information> Application: Stopped listening for http://127.0.0.1:18123
    2022.04.28 03:34:57.798774 [ 37101 ] {b41d855c-4dbf-470a-a144-c6ae5a1abda8} <Information> Application: Stopped listening for native protocol (tcp): 127.0.0.1:19000
    ...
    2022.04.28 03:34:57.901375 [ 37101 ] {b41d855c-4dbf-470a-a144-c6ae5a1abda8} <Debug> Application: Server finished: http://127.0.0.1:18123
    2022.04.28 03:34:57.901455 [ 37101 ] {b41d855c-4dbf-470a-a144-c6ae5a1abda8} <Trace> Application: Waiting server to finish: native protocol (tcp): 127.0.0.1:19000
    2022.04.28 03:34:58.001717 [ 37101 ] {b41d855c-4dbf-470a-a144-c6ae5a1abda8} <Trace> Application: Waiting server to finish: native protocol (tcp): 127.0.0.1:19000
    2022.04.28 03:34:58.101881 [ 37101 ] {b41d855c-4dbf-470a-a144-c6ae5a1abda8} <Trace> Application: Waiting server to finish: native protocol (tcp): 127.0.0.1:19000
    ...
    2022.04.28 03:35:01.707951 [ 37101 ] {b41d855c-4dbf-470a-a144-c6ae5a1abda8} <Trace> Application: Waiting server to finish: native protocol (tcp): 127.0.0.1:19000

But waiting for the current connection will never ends.

So instead of waiting directly from the query context (SYSTEM RELOAD
CONFIG) do this in background (actually not even in background, but
check on server reload and on exit).

v0: just don't wait for the servers
v2: fix use-after-free by removing dependency from server in handlers
v3: wait servers in background to avoid use-after-free of the context
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-05-16 16:22:58 +03:00
Azat Khuzhin
01e1c5345a Add separate CLUSTER grant
In case you have different roles for the same user on multiple clusters,
ON CLUSTER query can help to overcome some limitations.

Consider the following example:
- cluster_with_data, dev_user (readonly=2)
- stage_cluster, dev_user (readonly=0)

So when you will execute the following query from stage_cluster, it will
be successfully executed, since ON CLUSTER queries has different system
profile:

    DROP DATABASE default ON CLUSTER cluster_with_data

This is not 100% safe, but at least something.

Note, that right now only ON CLUSTER query it self is supported, but
separate clusters are not (i.e. GRANT CLUSTER some_cluster_name TO
default), since right now grants sticked to database+.

v2: on_cluster_queries_require_cluster_grant
v3: fix test and process flags as bit mask
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-05-16 13:57:45 +03:00
Robert Schulze
e3cfec5b09
Merge remote-tracking branch 'origin/master' into clangtidies 2022-05-16 10:12:50 +02:00
Roman Vasin
5dcd374c85 Merge branch 'master' of github.com:ClickHouse/ClickHouse into ADQM-445 2022-05-16 11:09:05 +03:00
jasperzhu
5e607e6cf5
Merge branch 'master' into dev_intel_iaa_deflate 2022-05-15 10:59:07 +08:00
Alexey Milovidov
7ce409da52
Merge branch 'master' into allow-setuid-inside-clickhouse 2022-05-15 04:33:59 +03:00
Azat Khuzhin
40f3dbb448 Ignore harmful env variables in clickhouse binaries (reexec w/o them)
Some environments may really require LD_LIBRARY_PATH (and some other
variables), so rejecting running clickhouse binaries in such envs is a
backward incompatible change.

So instead of rejecting, let's ignore those env variables, i.e. reexec
binaries without them.

Also note, that there is no messages in stderr in case of some of
variables set anymore, since this message may break some scripts.

Refs: #36340
Follow-up for: #36342
2022-05-14 12:08:48 +03:00
Roman Vasin
b06d84b3e5 renamed global_max_threads parameter to total_max_threads 2022-05-13 16:56:03 +03:00
Roman Vasin
87f25c6864 Added thread_factor = 2 constant for initial value calculation of global_max_threads 2022-05-13 15:02:45 +03:00
Roman Vasin
d94e9c4263 For value -1 of global_max_threads replaced physical cores count by logical cores count 2022-05-13 10:56:34 +03:00
Azat Khuzhin
5086d8de29 Reload listen_reuse_port/listen_backlog from config
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-05-12 17:05:39 +03:00
Roman Vasin
925a94a656 Implemented -1 value handling for global_max_threads parameter 2022-05-12 16:56:24 +03:00
jasperzhu
c74732ae79
Merge branch 'master' into dev_intel_iaa_deflate 2022-05-12 21:28:13 +08:00
Alexey Milovidov
7536e0cd25 Fix MSan 2022-05-11 03:16:10 +02:00
Alexey Milovidov
a8506f6604 Merge branch 'master' into allow-setuid-inside-clickhouse 2022-05-11 03:14:28 +02:00
kssenii
61f2737e17 Merge master 2022-05-10 19:31:22 +02:00
kssenii
0feda67ec4 Fix progress for insert select 2022-05-10 15:04:08 +02:00
Alexander Tokmakov
9346c9363a
Merge pull request #37052 from ClickHouse/fix_server_termination_stress_tests
Print stacks if we cannot terminate server in stress tests
2022-05-10 13:12:44 +03:00
Sergei Trifonov
9800d80a29
update sanity checks warning message text 2022-05-10 09:31:22 +02:00
Dmitry Novik
adcb792f0d
Merge pull request #35921 from ClickHouse/enable-memory-overcommit
Enable memory overcommit
2022-05-10 02:09:18 +02:00
Alexander Tokmakov
92d423c478 print stacks if wa cannot terminate server in stress tests 2022-05-09 19:43:51 +02:00
guykohen
34c494f403 Remove height restrictions from the query div in play web tool. 2022-05-09 13:32:26 -04:00
mergify[bot]
8ea87a3530
Merge branch 'master' into enable-memory-overcommit 2022-05-09 14:00:54 +00:00
Kruglov Pavel
23bd9390a6
Merge pull request #36997 from vitlibar/users-without-assigned-policies-can-view-rows
Users without assigned row policies can view rows
2022-05-09 12:04:50 +02:00
Robert Schulze
1b81bb49b4
Enable clang-tidy modernize-deprecated-headers & hicpp-deprecated-headers
Official docs:

  Some headers from C library were deprecated in C++ and are no longer
  welcome in C++ codebases. Some have no effect in C++. For more details
  refer to the C++ 14 Standard [depr.c.headers] section. This check
  replaces C standard library headers with their C++ alternatives and
  removes redundant ones.
2022-05-09 08:23:33 +02:00
Vitaly Baranov
69bec2f377 Users without assigned row policies can view rows now. 2022-05-07 14:50:24 +02:00
Alexey Milovidov
a121155f0a Fix conflict 2022-05-07 12:38:30 +02:00
Alexey Milovidov
1bdc51a496 Merge branch 'remind_for_external_option' of github.com:bigo-sg/ClickHouse into bigo-sg-remind_for_external_option 2022-05-07 12:36:57 +02:00
Alexey Milovidov
b2945766d0
Merge pull request #36988 from ClickHouse/handle-nullable-numbers-in-play-ui
Correct styling of Nullable numbers in PlayUI
2022-05-07 13:06:25 +03:00
Alexey Milovidov
c95f22e64d
Merge branch 'master' into allow-setuid-inside-clickhouse 2022-05-07 00:21:47 +03:00
Alexey Milovidov
a88e9b74a2 Correct styling of Nullable numbers in PlayUI 2022-05-06 21:50:28 +02:00
Alexey Milovidov
8b26c5fe02
Merge pull request #36838 from ClickHouse/config-update
Disable `merge_tree_metadata_cache` by default
2022-05-06 01:59:01 +03:00
Alexey Milovidov
1ba42076e5
Merge pull request #36778 from ClickHouse/init-thread-pools-local-server
Init thread pools for clickhouse-local
2022-05-06 01:52:55 +03:00
jasperzhu
7f47e9b934
Merge branch 'master' into dev_intel_iaa_deflate 2022-05-03 15:47:57 +08:00
mergify[bot]
1a92a34514
Merge branch 'master' into enable-memory-overcommit 2022-05-02 17:04:08 +00:00
Alexey Milovidov
0b9f8d81e4 Add cool processing of empty resultsets 2022-05-02 03:48:48 +02:00
Alexey Milovidov
2f0c421d99
Update play.html 2022-05-02 04:24:40 +03:00
Alexey Milovidov
8b366cbb02
Update play.html 2022-05-02 04:23:52 +03:00
Alexey Milovidov
be7a4b8b30 Make it work automatically; unify the code 2022-05-02 03:19:57 +02:00
Alexey Milovidov
474a805ea7 Merge branch 'play-vertical-format' of github.com:vdimir/ClickHouse into vdimir-play 2022-05-02 02:44:09 +02:00
Nikita Mikhaylov
f2d73635ef Disable 2022-05-01 17:14:52 +00:00
Alexey Milovidov
69ae22070f
Merge pull request #36824 from ClickHouse/log-test-sanity-check
Add sanity check for log level. Fix style.
2022-05-01 14:03:22 +03:00
Nikita Taranov
92f8244932
Fix certs (finishing pr #36457) (#36747) 2022-05-01 12:59:19 +02:00
Robert Schulze
89aa9ae00f
Fixed clang-tidy check "bugprone-branch-clone"
The check is currently *not* part of .clang-tidy. It complains about:
(1) "switch has multiple consecutive identical branches"
(2) "repeated branch in conditional chain"

About (1): Lots of findings in switches were about redundant
"[[fallthrough]]" in places where the compiler would not warn anyways. I
have cleaned these up.

About (2): In if-else_if-else chains, fixing the warning would usually
mean concatenating multiple if-conditions. As this would reduce
readability in most cases, I did not fix these places.

Because of (2), I also refrained from adding "bugprone-branch-clone" to
.clang-tidy.
2022-04-30 19:40:28 +02:00
Alexey Milovidov
47988db1a5 Add sanity check for log level. Fix style. 2022-04-30 13:19:25 +02:00
Alexey Milovidov
e0b2365945
Merge pull request #36472 from ClickHouse/sanity-checks-message-fix
more specific warning text about low disk space
2022-04-30 09:44:21 +03:00
Alexey Milovidov
1ddb04b992
Merge pull request #36715 from amosbird/refactorbase
Reorganize source files so that base won't depend on Common
2022-04-30 09:40:58 +03:00
Alexey Milovidov
dc914c635c
Merge pull request #36497 from tonickkozlov/tonickkozlov/benchmark/allow-auth-env
Benchmark can read auth from environment variables
2022-04-30 08:55:15 +03:00
vdimir
ea4e9db3da
play.html: no header in transposed table 2022-04-29 20:05:03 +02:00
vdimir
277afd0c48
play.html: add button to transpose table 2022-04-29 20:01:24 +02:00
jinjunzh
34934b80a9 update qpl deflate supporting test script and docs 2022-04-29 11:40:08 -04:00
Nikolai Kochetov
5807ca47b0
Merge pull request #36425 from ClickHouse/pool-size-hot-reload
Allow to increase number of threads and tasks for background executors
2022-04-29 17:24:12 +02:00
Anton Kozlov
5cc78febde [benchmark] Allow auth environment variables 2022-04-29 11:30:59 +00:00
Maksim Kita
5b9bb36f80
Merge pull request #36753 from kitaisreal/added-user-defined-path-config-setting
Added user_defined_path config setting
2022-04-29 11:10:51 +02:00
Antonio Andelic
45a72d9aa9 Init thread pools for clickhouse-local 2022-04-29 07:41:10 +00:00
Amos Bird
4a5e4274f0
base should not depend on Common 2022-04-29 10:26:35 +08:00
Alexey Milovidov
f200af5530
Merge pull request #36733 from ClickHouse/maven-clickhouse
Change Maven URL example for JDBC bridge in ClickHouse config
2022-04-29 00:12:53 +03:00
Maksim Kita
04429d85db Added user_defined_path config setting 2022-04-28 22:13:33 +02:00
Vladimir C
d692dec635
Merge pull request #36473 from xinhuitian/fix-benchmark-json-report
Try to fix clickhouse-benchmark json report results
2022-04-28 14:50:10 +02:00
alesapin
8f1a0f6625
Merge pull request #36258 from ClickHouse/keeper-recovery-mode
clickhouse-keeper support for force recovery
2022-04-28 11:20:59 +02:00
Alexey Milovidov
770ce07b1a Change Maven URL example for JDBC bridge in ClickHouse config 2022-04-28 05:54:39 +02:00
mergify[bot]
a13012e271
Merge branch 'master' into sanity-checks-message-fix 2022-04-28 02:50:16 +00:00
jasperzhu
05769b4a9c
Merge branch 'master' into dev_intel_iaa_deflate 2022-04-26 16:30:27 +08:00
jinjunzh
68a7e4b9b5 preliminary patch for iaa deflate solution 2022-04-26 14:14:09 -04:00
Antonio Andelic
cf022542bd Merge branch 'master' into keeper-recovery-mode 2022-04-26 06:50:02 +00:00
Alexey Milovidov
39467ec4aa
Update play.html 2022-04-26 08:47:56 +03:00
mergify[bot]
7c32649014
Merge branch 'master' into cleanup-play-ui 2022-04-26 05:47:32 +00:00
mergify[bot]
74aa65e36e
Merge branch 'master' into sanity-checks-message-fix 2022-04-26 05:45:11 +00:00
Alexey Milovidov
c8db250c88
Merge pull request #36586 from azat/bash-complete-log-level
bash-completion: add completion for send_logs_level
2022-04-26 05:55:41 +03:00
mergify[bot]
9c3605712b
Merge branch 'master' into sanity-checks-message-fix 2022-04-25 17:37:55 +00:00
mergify[bot]
5bcba95e72
Merge branch 'master' into bash-complete-log-level 2022-04-25 17:36:43 +00:00
mergify[bot]
cc8513fb79
Merge branch 'master' into cleanup-play-ui 2022-04-25 17:15:08 +00:00
Azat Khuzhin
6df54611a9 Log which taskstats provider is in use
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
v2: add missing __builtin_unreachable() for gcc built [1]
    [1]: https://s3.amazonaws.com/clickhouse-builds/36351/99e72a960325cc1fb3cd3d6a1b56cf2b1cc2d733/binary_gcc/build_log.log
(cherry picked from commit 2be022cb56)
2022-04-25 07:56:54 +03:00
Alexey Milovidov
74bb6349c2
Revert "Strict taskstats parser" 2022-04-25 01:15:08 +03:00
mergify[bot]
989f7c76ab
Merge branch 'master' into cleanup-play-ui 2022-04-24 19:45:18 +00:00
Azat Khuzhin
fa657d1d7f bash-completion: add completion for send_logs_level
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-04-24 22:36:27 +03:00
Alexey Milovidov
8af3159916
Merge pull request #36351 from azat/netlink-strict
Strict taskstats parser
2022-04-24 05:14:06 +03:00
Alexey Milovidov
a1eddd1be0 Cleanup CSS in Play UI 2022-04-23 20:42:10 +02:00
alesapin
f0f92341e0
Merge pull request #36492 from ClickHouse/fix-keeper-hostname-check
Fix hostname checks in clickhouse-keeper
2022-04-23 13:54:57 +02:00
alesapin
7380a71333
Merge pull request #31833 from ClickHouse/musl-check
Build clickhouse-keeper with Musl
2022-04-22 22:41:16 +02:00
Roman Vasin
0c467872d9 Moved global_max_threads parameter from users.xml file to config.xml file 2022-04-22 17:17:29 +03:00
mergify[bot]
eefc302779
Merge branch 'master' into fix-keeper-hostname-check 2022-04-22 14:07:53 +00:00
Nikita Mikhaylov
aaa7112405 Even better 2022-04-22 13:56:16 +00:00
Nikita Mikhaylov
e475849761 Style and Docs update 2022-04-22 13:56:16 +00:00
Nikita Mikhaylov
f95a63a7f0 Beautify 2022-04-22 13:56:16 +00:00
Nikita Mikhaylov
36bdee0499 Deleted settings 2022-04-22 13:56:16 +00:00
Nikita Mikhaylov
31ccb9c1c3 Done 2022-04-22 13:56:16 +00:00
Tian Xinhui
164647cc05
Update programs/benchmark/Benchmark.cpp
Co-authored-by: Vladimir C <vdimir@clickhouse.com>
2022-04-22 18:31:07 +08:00
alesapin
f88f654798
Update programs/CMakeLists.txt
Co-authored-by: Mikhail f. Shiryaev <felixoid@clickhouse.com>
2022-04-22 11:30:35 +02:00
Antonio Andelic
4e389d8df1 Rename to hostname, add tests 2022-04-22 08:16:14 +00:00
Alexey Milovidov
143b67a790
Merge pull request #36397 from ClickHouse/changelog-22-4
Draft changelog for version 22.4
2022-04-22 04:37:03 +03:00
Alexey Milovidov
f31cad52ab Preparation 2022-04-22 03:21:29 +02:00
Maksim Kita
57444fc7d3
Merge pull request #36444 from rschu1ze/clang-tidy-fixes
Clang tidy fixes
2022-04-21 16:11:27 +02:00
Antonio Andelic
6ac3784af7 Add config example 2022-04-21 13:49:36 +00:00
Antonio Andelic
03779fd463 Merge branch 'master' into keeper-recovery-mode 2022-04-21 12:34:18 +00:00
Mikhail f. Shiryaev
49a572e00c
Build only clickhouse-keeper with musl 2022-04-21 13:43:24 +02:00
xinhuitian
f261291fa6 fix benchmark json report info 2022-04-21 14:10:29 +08:00
Sergei Trifonov
cda9160c2f fix build 2022-04-21 07:48:56 +02:00
Sergei Trifonov
69403840e2 add paths 2022-04-21 07:45:08 +02:00
Sergei Trifonov
a2365c5c83 more specific warning text about low disk space 2022-04-21 07:32:34 +02:00
Sergei Trifonov
2f38e7bc5c
Merge pull request #36400 from azat/dyn-linker-vars
Add more harmful variables for OSX
2022-04-21 00:02:51 +02:00
Azat Khuzhin
2be022cb56 Log which taskstats provider is in use
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
v2: add missing __builtin_unreachable() for gcc built [1]
    [1]: https://s3.amazonaws.com/clickhouse-builds/36351/99e72a960325cc1fb3cd3d6a1b56cf2b1cc2d733/binary_gcc/build_log.log
2022-04-20 21:39:26 +03:00
alesapin
ba81816dc1 Better cmake 2022-04-20 12:11:55 +02:00
mergify[bot]
0df5fda6ed
Merge branch 'master' into musl-check 2022-04-20 09:28:40 +00:00
Suzy Wang
59f0e83c4b
fix clang tidy warning, add nullptr check (#35540)
update passing reference instead of pointer in queryHasWithClause based on recommandation

Co-authored-by: larryluogit <larry.luo@ca.ibm.com>
2022-04-20 11:26:44 +02:00
Robert Schulze
b24ca8de52
Fix various clang-tidy warnings
When I tried to add cool new clang-tidy 14 warnings, I noticed that the
current clang-tidy settings already produce a ton of warnings. This
commit addresses many of these. Almost all of them were non-critical,
i.e. C vs. C++ style casts.
2022-04-20 10:29:05 +02:00
Antonio Andelic
bbb0be6a44
Merge pull request #36402 from rschu1ze/clang-tidy-contains
Activate clang-tidy warning "readability-container-contains"
2022-04-20 08:15:46 +02:00
alesapin
ffca5c3cdc
Merge branch 'master' into musl-check 2022-04-19 17:51:54 +02:00
alesapin
44e5c55d19 Fix build 2022-04-19 17:44:28 +02:00
Alexey Milovidov
fb9545e0b4 Remove trash 2022-04-19 17:44:27 +02:00
Alexey Milovidov
23968142c1 Update main.cpp 2022-04-19 17:44:27 +02:00
Alexey Milovidov
d6d0e82741 Update main.cpp 2022-04-19 17:44:26 +02:00
Alexey Milovidov
86ae0c9763 Warn and exit if harmful environment variables are set 2022-04-19 17:44:26 +02:00
Antonio Andelic
70f3d3a863 Merge branch 'master' into keeper-recovery-mode 2022-04-19 12:32:48 +00:00
Antonio Andelic
3e77340a81
Allow clickhouse-keeper to serve 4-letter commands before quorum (#35992)
* Use async start for clichkouse-keeper

* Return non active server for 4lw commands if quorum not achieved
2022-04-19 14:03:00 +02:00
mergify[bot]
c026dbf51c
Merge branch 'master' into interserver_listen_port 2022-04-19 11:44:01 +00:00
Antonio Andelic
cd548aeb30 Refactor test for multiple cluster size 2022-04-19 08:08:36 +00:00
Antonio Andelic
6c3bf0a5d3 Format files 2022-04-19 08:08:36 +00:00
Antonio Andelic
0e1ba927bd Add argument for force recovery 2022-04-19 08:08:35 +00:00
Robert Schulze
118e94523c
Activate clang-tidy warning "readability-container-contains"
This check suggests replacing <Container>.count() by
<Container>.contains() which is more speaking and in case of
multimaps/multisets also faster.
2022-04-18 23:53:11 +02:00
Azat Khuzhin
828d23c933 Add more harmful variables for OSX
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-04-18 23:40:09 +03:00
Alexey Milovidov
88f98443bd
Merge branch 'master' into allow-setuid-inside-clickhouse 2022-04-18 07:06:02 +03:00
Alexey Milovidov
48fd09c7db
Merge pull request #36310 from ClickHouse/cpuid-remove-trash
Remove trash from CPUID
2022-04-18 07:01:23 +03:00
Alexey Milovidov
543e5d7242 Merge branch 'master' into musl-check 2022-04-18 02:40:13 +02:00
Alexey Milovidov
0fc61ea445
Update main.cpp 2022-04-18 03:16:30 +03:00
Alexey Milovidov
27afc08d8f Merge branch 'master' into cpuid-remove-trash 2022-04-17 16:30:30 +02:00
Alexey Milovidov
e43bdf7580
Update main.cpp 2022-04-17 17:21:20 +03:00
Alexey Milovidov
b7fe203fe1 Warn and exit if harmful environment variables are set 2022-04-17 01:56:58 +02:00
Alexey Milovidov
2b67d99193 Allow to drop privileges at startup 2022-04-17 00:26:53 +02:00
Alexey Milovidov
803edc3879 Allow to drop privileges at startup 2022-04-17 00:25:55 +02:00
Alexey Milovidov
b7e5a81215 Allow to drop privileges at startup 2022-04-17 00:24:47 +02:00
Alexey Milovidov
83de3bb1de Allow to drop privileges at startup 2022-04-17 00:19:36 +02:00
Alexey Milovidov
e704e8d5d7 Allow to drop privileges at startup 2022-04-17 00:09:20 +02:00
Alexey Milovidov
66dedb0011
Merge pull request #36262 from zhanghuajieHIT/fix-crash-in-fit-import-with-invalid-parameter
fix crash when you use clickhouse-git-import with invalid parameter
2022-04-16 03:20:42 +03:00
Alexey Milovidov
58fc4e033a Remove trash 2022-04-15 22:54:08 +02:00
Alexey Milovidov
efbb29539f Fix Play UI for some resultsets 2022-04-15 03:13:40 +02:00
zhanghuajie
9947008d31 fix crash when you use clickhouse-git-import with invalid parameter
for example:
clickhouse-git-import -xxx
2022-04-14 23:16:02 +08:00
alesapin
2f496c7945 Merge branch 'master' into musl-check 2022-04-12 14:40:47 +02:00
mergify[bot]
078d8baf1d
Merge branch 'master' into enable-memory-overcommit 2022-04-11 17:09:02 +00:00
Alexander Tokmakov
141fbc6980 Merge branch 'master' into mvcc_prototype 2022-04-08 13:38:11 +02:00
Azat Khuzhin
33d99c8ffb Introduce compatiblity mode for SETTINGS after FORMAT
Add allow_settings_after_format_in_insert setting, OFF by default.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
v2: s/parser_settings_after_format_compact/allow_settings_after_format_in_insert/ (suggested by vitlibar)
v3: replace ParserSettings with a flag (requested by vitlibar)
2022-04-07 16:36:34 +03:00
Alexander Tokmakov
7f54e7b422 Merge branch 'master' into mvcc_prototype 2022-04-07 15:14:06 +02:00
Alexander Tokmakov
8290ffa88d Merge branch 'master' into mvcc_prototype 2022-04-07 13:50:42 +02:00
tavplubix
6e9c028bbb
Merge pull request #35956 from Algunenano/limit_dns_retries
DNS cache: Add option to drop elements after several consecutive failures
2022-04-07 13:20:36 +03:00