Commit Graph

666 Commits

Author SHA1 Message Date
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
John Skopis
1f9331198d [WIP] Introduce dynamic TLS server context
This is a first pass at setting an x509 keypair dynamically.

I'm not so sure it should be a singleton (especaially because it depends
on the SSLManager singleton).

Needs more better error handling.

Functionally, it works. Simply change the cert/key path in config, or
touch cert; touch config.
2020-10-08 16:34:17 +00:00
Alexey Milovidov
7d97c8b053 Remove useless code 2020-10-07 11:21:32 +03:00
tavplubix
4578d89819
Merge pull request #15348 from ClickHouse/replicate_default_args
Continuation of #14791
2020-09-28 18:53:02 +03:00
Alexander Tokmakov
34addcf61f add review suggestions 2020-09-26 22:18:28 +03:00
alesapin
97671a1771 Ugly fix for default database race 2020-09-25 14:27:00 +03:00
Alexey Milovidov
1f6e55ff35 Allow to run without /proc/self/maps 2020-09-25 05:03:58 +03:00
Alexander Kuzmenkov
679c0988a5 Merge remote-tracking branch 'origin/master' into HEAD 2020-09-22 16:25:52 +03:00
Alexander Kuzmenkov
dde4cf70e1 Merge remote-tracking branch 'origin/master' into HEAD 2020-09-22 14:03:59 +03:00
Alexander Kuzmenkov
478c7309d4
Merge pull request #14843 from ClickHouse/aku/global-pool
Exception on double init of global thread pool
2020-09-22 13:44:39 +03:00
alexey-milovidov
3e0509af69
Merge pull request #13573 from amosbird/rms
specific ReplicatedMergeTree settings
2020-09-21 01:36:33 +03:00
alexey-milovidov
1474b80ecc
Merge pull request #15008 from ClickHouse/clang-tidy-11-without-enabling
Fix terribly wrong code
2020-09-20 02:00:54 +03:00
alexey-milovidov
c461d782e4
Merge pull request #14929 from ClickHouse/mlock-code-segment
Only mlock code segment
2020-09-19 13:46:49 +03:00
Alexey Milovidov
ef5363b87f Fix terribly wrong code 2020-09-19 02:05:13 +03:00
alexey-milovidov
988b20a32c
Merge pull request #14684 from azat/parallel-distributed_ddl
Allow parallel execution of distributed DDL
2020-09-18 22:18:17 +03:00
Alexander Kuzmenkov
449189dcda Initialize global thread pool before we fetch configs from ZK 2020-09-18 13:47:09 +03:00
Alexey Milovidov
eb523f1a7c Merge branch 'master' into mlock-code-segment 2020-09-17 21:15:09 +03:00
Alexander Kuzmenkov
fb64cf210a straighten the protocol version 2020-09-17 17:37:29 +03:00
Alexey Milovidov
068e8576b7 Corrections 2020-09-17 15:53:52 +03:00
Alexey Milovidov
8bce20076c Only mlock code segment 2020-09-17 15:39:37 +03:00
sundy-li
544b2cb20d add configChanged method for zookeeper
fix logic error && skip reload testkeeper
2020-09-17 13:33:45 +08:00
Alexey Milovidov
2ac88ab47d Added config option 2020-09-14 21:08:09 +03:00
Azat Khuzhin
dd867b787f Allow parallel execution of distributed DDL
Add distributed_ddl.pool_size to control maximum parallel to handle
distributed DDL.

Also:
- convert Exception constructors to fmt-like
- use sleepFor* over std::this_thread::sleep_for()
2020-09-12 02:32:08 +03:00
Alexey Milovidov
a644733139 Attempt to make performance test more reliable 2020-09-10 12:05:57 +03:00
Yatsishin Ilya
45e54f81c7 better resolv.conf, add DNSCacheUpdater logs 2020-09-02 11:07:46 +03:00
Amos Bird
05a5a13e08
specific ReplicatedMergeTree settings 2020-08-27 22:37:41 +08:00
Vitaly Baranov
0759dff12b Support <user_directories> section in the main config. 2020-08-16 19:15:38 +03:00
Vitaly Baranov
2909ed1bc0 Better initialization of access storages. Make list of access storages dynamic. 2020-08-16 19:15:34 +03:00
Alexey Milovidov
e43746395e Merge branch 'master' into codespell-2 2020-08-16 14:57:21 +03:00
Alexey Milovidov
6bc8da633c Minor modification 2020-08-16 14:52:55 +03:00
Alexey Milovidov
8e36bfe54d Merge branch 'master' into watchdog 2020-08-16 14:37:55 +03:00
Alexander Tokmakov
a6ff049eec use Atomic for system database 2020-08-12 23:40:13 +03:00
Alexey Milovidov
6c4df0f27a Better tool 2020-08-08 17:10:49 +03:00
Alexey Milovidov
ae716e13e0 Watchdog (experimental) 2020-08-08 07:52:09 +03:00
Alexey Milovidov
3b8020168f Add simple watchdog 2020-08-08 07:44:04 +03:00
Vitaly Baranov
1a4a8a219c
Merge pull request #13305 from vitlibar/correct-error-message-if-setting-not-found-in-users_xml
Correct error message if setting not found in users.xml
2020-08-07 23:31:23 +03:00
Vitaly Baranov
a804f9499d Use references while iterating through settings. 2020-08-04 04:00:38 +03:00
Vitaly Baranov
dadebadcac Print correct error message in log for unknown settings in users.xml 2020-08-04 00:20:33 +03:00
Alexey Milovidov
778abb346f Merge branch 'master' into merge-tree-settings-sanity-check 2020-08-02 17:13:17 +03:00
Vitaly Baranov
7c4ae5ee65 Add the parameter custom_settings_prefixes to the server config. 2020-07-31 20:57:49 +03:00
Vitaly Baranov
56665a15f7 Rework and rename the template class SettingsCollection => BaseSettings. 2020-07-31 20:54:18 +03:00
Alexey Milovidov
b9f49d31df Sanity checks for MergeTreeSettings 2020-07-30 22:08:13 +03:00
Denis Glazachev
8688a1f5d0 Recreate ExternalAuthenticators (LDAP) on config update 2020-07-10 15:59:48 +04:00
alesapin
1aa45f203b
bump CI 2020-07-08 13:40:02 +03:00
Denis Glazachev
9effacfbc1 Merge branch 'master' into ldap-per-user-authentication
* master: (1102 commits)
  Update README.md
  Update README.md
  Update README.md
  Update index.md
  [docs] add intrdocution for statements page (#12189)
  Revert "Run perf tests with memory sampling (for allocations >1M)"
  Sanitize LINK_LIBRARIES property for the directories (#12160)
  [docs] refactor Domains overview (#12186)
  DOCS-647: toStartOfSecond (#12190)
  [docs] add intrdocution for commercial page (#12187)
  DOCSUP-1348 Russian translation for new functions (#133) (#12194)
  changelog fixes
  Update index.md (#12191)
  Update zh kafka.md title (#12192)
  Added test for #3767
  style fix for #12152
  Tests for fixed issues #10846 and #7347
  changelog fixes
  [docs] introduction for special table engines (#12170)
  [docs] introduction for third-party interfaces (#12175)
  ...

# Conflicts:
#	src/Access/ya.make
#	src/Common/ErrorCodes.cpp
2020-07-08 00:42:09 +04:00
Alexey Milovidov
176a7f2f72 Normalize "pid" file handling #3501 2020-07-04 16:54:24 +03:00
Alexey Milovidov
44f2742a51 Fix bad log message at server startup 2020-06-27 15:56:06 +03:00
Alexander Kuzmenkov
d77f397b38 review fixes 2020-06-26 03:18:33 +03:00
Alexander Kuzmenkov
593a0181bd
Merge pull request #11616 from ClickHouse/aku/perf-benchmark
Add concurrent benchmark to performance test
2020-06-25 09:36:52 +03:00
Alexander Kuzmenkov
e0bdbe73d2 Merge remote-tracking branch 'origin/master' into HEAD 2020-06-23 15:31:09 +03:00
Alexander Kuzmenkov
ab809f59b9 memory usage settings 2020-06-23 15:30:45 +03:00
Alexander Kuzmenkov
96d2e9c997 Initialize GlobalThreadPool explicitly 2020-06-22 22:04:12 +03:00
alexey-milovidov
4ee623ccac
Merge pull request #10242 from MovElb/movelb-postgresql-wire-protocol-impl
PostgreSQL wire protocol implementation
2020-06-21 14:39:22 +03:00
Denis Glazachev
5db60202b6 Merge branch 'master' into ldap-per-user-authentication 2020-06-19 00:11:08 +04:00
Alexey Milovidov
bb6c0743fc Change the level of log message about failure to listen, to warning #4406 2020-06-15 23:30:36 +03:00
Denis Glazachev
9e3a28a6b8 Merge branch 'master' into ldap-per-user-authentication
* master: (414 commits)
  Update file.md
  Update merge.md
  Update dictionary.md
  Update external-data.md
  Update distributed.md
  Update null.md
  Update set.md
  Update join.md
  Update url.md
  Update view.md
  Update materializedview.md
  Update memory.md
  Update buffer.md
  Update generate.md
  removed a sentence about global lock during rename (#11577)
  greatCircleAngle en translation (#11584)
  Update configuration-files.md
  try fix flacky test
  Update why.html
  Update rich.html
  ...

# Conflicts:
#	src/Common/ErrorCodes.cpp
#	utils/ci/jobs/quick-build/run.sh
2020-06-11 03:06:17 +04:00
Denis Glazachev
848330b37a Expect <ldap_servers> in main config.xml 2020-06-11 02:48:15 +04:00
Alexey Milovidov
fd3ff19868 Fix trivial error in log message #11399 2020-06-10 22:34:23 +03:00
Alexey Milovidov
df19db1509 Added a test for history in clickhouse-client 2020-06-07 20:29:34 +03:00
Alexey Milovidov
3d68cd4df6 Also check for users.xml elements in config.xml 2020-06-04 23:34:33 +03:00
Alexey Milovidov
02e14f9fe8 Also check for users.xml elements in config.xml 2020-06-04 23:33:19 +03:00
Alexey Milovidov
a89ce20d38 Added a check for incorrect settings 2020-06-04 22:30:30 +03:00
Alexey Milovidov
25f941020b Remove namespace pollution 2020-05-31 00:57:37 +03:00
MovElb
142c63e487 done rebase 2020-05-30 23:02:11 +03:00
MovElb
b4b5c90343 squash 2020-05-30 20:05:05 +03:00
Alexey Milovidov
b79020d0a8 Emit a warning if server was build in debug or with sanitizers 2020-05-30 00:41:33 +03:00
Ivan
5b858de374
Split programs/server into actual program and library (#11186)
* Split programs/server into actual program and library
2020-05-27 20:52:52 +03:00
Alexey Milovidov
7e1813825b Return old names of macros 2020-05-24 01:24:01 +03:00
Alexey Milovidov
61cc605ee7 Remove old method 2020-05-24 01:21:29 +03:00
Alexey Milovidov
7e2fb9ad65 Apply all transformations again 2020-05-23 22:38:30 +03:00
Alexey Milovidov
29762240de Remove duplicate whitespaces (preparation) 2020-05-23 22:31:54 +03:00
Alexey Milovidov
86b4d5a86f Remove duplicate whitespaces (preparation) 2020-05-23 22:09:06 +03:00
Alexey Milovidov
9d2a0d2dd7 Apply all transformations again 2020-05-23 21:59:49 +03:00
Alexey Milovidov
a2ad11897f Remove duplicate whitespaces (preparation) 2020-05-23 21:53:58 +03:00
Alexey Milovidov
1f13515a65 Make all LOG in single line (preparation) 2020-05-23 21:31:37 +03:00
Alexey Milovidov
f69cbdcbfc find {base,src,programs} -name '*.h' -or -name '*.cpp' | xargs grep -l -P 'LOG_\w+\([^,]+, "[^"]+" \+ [^+]+\);' | xargs sed -i -r -e 's/(LOG_\w+)\(([^,]+), "([^"]+)" \+ ([^+]+)\);/\1_FORMATTED(\2, "\3{}", \4);/' 2020-05-23 20:09:37 +03:00
Alexey Milovidov
533f86278a find {base,src,programs} -name '*.h' -or -name '*.cpp' | xargs grep -l -P 'LOG_\w+\([^,]+, "[^"]+" << [^<]+ << "[^"]+" << [^<]+ << "[^"]+"\);' | xargs sed -i -r -e 's/(LOG_\w+)\(([^,]+), "([^"]+)" << ([^<]+) << "([^"]+)" << ([^<]+) << "([^"]+)"\);/\1_FORMATTED(\2, "\3{}\5{}\7", \4, \6);/' 2020-05-23 20:00:41 +03:00
Alexey Milovidov
e391b77d81 find {base,src,programs} -name '*.h' -or -name '*.cpp' | xargs grep -l -P 'LOG_\w+\([^,]+, "[^"]+" << [^<]+ << "[^"]+"\);' | xargs sed -i -r -e 's/(LOG_\w+)\(([^,]+), "([^"]+)" << ([^<]+) << "([^"]+)"\);/\1_FORMATTED(\2, "\3{}\5", \4);/' 2020-05-23 19:56:05 +03:00
Alexey Milovidov
ee4ffbc332 find {base,src,programs} -name '*.h' -or -name '*.cpp' | xargs grep -l -P 'LOG_\w+\([^,]+, "[^"]+" << [^<]+\);' | xargs sed -i -r -e 's/(LOG_\w+)\(([^,]+), "([^"]+)" << ([^<]+)\);/\1_FORMATTED(\2, "\3{}", \4);/' 2020-05-23 19:47:56 +03:00
Alexey Milovidov
8d2e80a5e2 find {base,src,programs} -name '*.h' -or -name '*.cpp' | xargs grep -l -P 'LOG_\w+\([^,]+, "[^"]+"\)' | xargs sed -i -r -e 's/(LOG_\w+)\(([^,]+, "[^"]+")\)/\1_FORMATTED(\2)/' 2020-05-23 19:42:39 +03:00
alesapin
a416813597
Merge pull request #10777 from NanoBjorn/refactor-reservations
VolumePtr instead of DiskPtr in MergeTreeData*
2020-05-19 13:27:11 +03:00
Artem Zuikov
97c7447130
Bitonic sort improvements (#10934) 2020-05-19 00:41:23 +03:00
Artem Zuikov
bfcbc08bba arcadia sync fixes 2020-05-18 15:50:23 +03:00
Artem Zuikov
0fe723acc9
Try to fix arcadia sync (#10959) 2020-05-18 13:26:23 +03:00
Gleb Novikov
1a25ac6e1f Merge branch 'master' into refactor-reservations 2020-05-16 23:34:45 +03:00
alesapin
9ae37a054c Fix build without openCL 2020-05-15 11:31:32 +03:00
Artem Zuikov
8e8a2a17d6 build fixes 2020-05-15 03:01:31 +03:00
Ri
fc7afaa639
Bitonic sort on GPU (OpenCL) (#10232) 2020-05-15 03:01:14 +03:00
Gleb Novikov
57b6fb6d80 Merge branch 'master' into refactor-reservations 2020-05-10 13:01:45 +03:00
Gleb Novikov
390b39b272 VolumePtr instead of DiskPtr in MergeTreeData* 2020-05-10 00:24:15 +03:00
Ivan
85d783c247
Poco contrib refactoring (#10396)
* Remove config_common.h
* Refactor libcpuid contrib
* Remove support for libcpuinfo
* Define USE_CPUID in Arcadia
* Refactor Poco libraries
2020-05-08 17:11:19 +03:00
Alexey Milovidov
600b396f1b Merge remote-tracking branch 'origin/master' into sampling-memory-profiler 2020-05-01 21:48:20 +03:00
Alexander Kazakov
e9baaa439b
Implementation of new system metrics provider (Procfs) (#10544)
* New metrics provider (Procfs) + Refactored TasksStatsCounters

* Trivial statless test that ProcFS is provided

* Trivial perf test for ProcfsMetricsProvider

Co-authored-by: alexey-milovidov <milovidov@yandex-team.ru>
2020-05-01 21:47:41 +03:00
Alexey Milovidov
293ae88e7f Add sampling memory profiler 2020-04-30 16:25:17 +03:00
tavplubix
11c3493676
Merge pull request #10547 from ClickHouse/zhang2014/feature/ISSUES-5436
Merging #7572
2020-04-28 12:40:48 +03:00
Alexander Tokmakov
04d6b59ac0 Merge branch 'master' into database_atomic 2020-04-23 17:31:37 +03:00
zhang2014
0070f75218 ISSUES-5436 fix integration test failure & add test 2020-04-23 17:11:20 +08:00
Alexey Milovidov
07dcf40a6a Simple server wide memory profiler 2020-04-22 20:52:21 +03:00
Alexander Tokmakov
fefbbd37df Merge branch 'master' into database_atomic 2020-04-22 17:02:30 +03:00
Alexey Milovidov
0482e2e3ea Implement suggestion from Sergey Veletsky 2020-04-22 01:40:18 +03:00
alexey-milovidov
8c2839d3c9
Merge pull request #10308 from ClickHouse/shared-context-lifetime
Shared context lifetime
2020-04-21 00:12:45 +03:00
Alexander Tokmakov
b29bddac12 Merge branch 'master' into database_atomic 2020-04-20 14:09:09 +03:00
zhang2014
318ab3b51e ISSUES-5436 try fix build failure & pvs & style 2020-04-20 12:49:17 +08:00
Alexey Milovidov
2987e70aab Introduce "max_server_memory_usage" setting 2020-04-20 01:59:21 +03:00
Alexey Milovidov
ec6b176f3b Rework total memory tracker #10293 2020-04-20 01:59:21 +03:00
zhang2014
57cbecf935 ISSUES-5436 reworking predefine http 2020-04-20 03:18:36 +08:00
zhang2014
8105a9bbe0 ISSUES-5436 fix review suggestions 2020-04-20 02:26:06 +08:00
zhang2014
fd00757178 ISSUES-5436 support custom http [part 4] 2020-04-20 02:23:18 +08:00
Nikolai Kochetov
84faa9af26 Merge branch 'master' into shared-context-lifetime 2020-04-17 19:13:13 +03:00
Nikolai Kochetov
ce11662ab1 Fix build. 2020-04-17 15:58:52 +03:00
Nikolai Kochetov
d51a9c551b Remove shared_ptr to SharedContext from Context. 2020-04-17 12:47:40 +03:00
Nikolai Kochetov
025093d354 Fix build. 2020-04-16 17:51:33 +03:00
Nikolai Kochetov
d6db27e372 Modify context. 2020-04-16 17:37:38 +03:00
Ivan Lezhankin
e230632645 Changes required for auto-sync with Arcadia 2020-04-16 15:31:57 +03:00
Alexander Tokmakov
9c67d2716e Merge branch 'master' into database_atomic 2020-04-03 03:19:11 +03:00
Ivan
97f2a2213e
Move all folders inside /dbms one level up (#9974)
* Move some code outside dbms/src folder
* Fix paths
2020-04-02 02:51:21 +03:00