Commit Graph

1079 Commits

Author SHA1 Message Date
TCeason
3912ed4965 Merge branch 'master' into add_sync_user_privs_exception 2020-11-12 09:34:08 +08:00
sundyli
5ef809931e
Merge branch 'master' into storage-rocksdb 2020-11-12 08:26:27 +08:00
alexey-milovidov
34b2a460ba
Merge pull request #16578 from fibersel/issue-8828
add compression method for files: Xz
2020-11-12 02:58:52 +03:00
vdimir
dbec289c9a
[wip] rewrite ip_dict data struct, fix bugs, add tests 2020-11-12 00:58:30 +03:00
Azat Khuzhin
8c482b978b Set thread name for the TraceCollector 2020-11-11 21:30:17 +03:00
Alexey Milovidov
57ac63ca34 Minor change in query profiler 2020-11-11 19:58:54 +03:00
alesapin
ade14da634 Remove some redundant files 2020-11-11 18:45:10 +03:00
alesapin
d57b57156e Fix style check 2020-11-11 17:22:11 +03:00
alesapin
d83c68fca8 Fix timeouts 2020-11-11 16:55:28 +03:00
Alexander Tokmakov
dbac7860b1 review suggestions 2020-11-11 16:27:54 +03:00
alesapin
66236d6ebb Refactored a little 2020-11-11 16:07:06 +03:00
taichong
d907afa77e throw exception when mysql sync user privs error. 2020-11-11 19:27:37 +08:00
alesapin
0388006ed6 Less garbage 2020-11-11 12:05:45 +03:00
alesapin
bb3b420057 Ugly working code 2020-11-11 11:51:54 +03:00
Alexey Milovidov
0001433b82 Better code 2020-11-11 09:08:53 +08:00
Alexey Milovidov
2e6ed2a880 Higher mmap threshold in debug build 2020-11-10 22:21:59 +03:00
Alexander Tokmakov
b94cc5c4e5 remove more stringstreams 2020-11-10 21:22:26 +03:00
alesapin
2129b9a53e Merge branch 'correctly_send_close_request' into complete_zk_api 2020-11-10 17:39:47 +03:00
alesapin
ec2c2ec576 Set expire after we set close 2020-11-10 17:09:32 +03:00
alesapin
d8f515c4f3 Almost watches 2020-11-10 16:43:10 +03:00
alesapin
932ea0ef8b Merge branch 'master' into complete_zk_api 2020-11-10 13:56:11 +03:00
feng lv
9194985d48 Merge branch 'master' of github.com:ClickHouse/ClickHouse into union-distinct 2020-11-10 06:09:39 +00:00
Alexander Kuzmenkov
0530c40cd8 fixes 2020-11-10 08:50:32 +03:00
a.palagashvili
f999ea2a6f renamed files, added new library, changed error codes, added tests for file() function 2020-11-10 01:52:22 +03:00
Alexander Tokmakov
5cdfcfb307 remove other stringstreams 2020-11-09 22:12:44 +03:00
alesapin
09fac0da9d Better 2020-11-09 21:16:02 +03:00
alesapin
45b0894252 Some fixes 2020-11-09 20:50:39 +03:00
a.palagashvili
6286775031 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into issue-8828 2020-11-09 19:53:20 +03:00
Alexander Kuzmenkov
26229ed231 tmp spans for threads
(doesn't compile because of json metadata changes)
2020-11-09 18:07:38 +03:00
alesapin
4e846d2197 Merge branch 'master' into add_separate_pool_for_fetches 2020-11-09 10:00:21 +03:00
alesapin
456b0b94c1 Remove some debug 2020-11-09 09:54:35 +03:00
vdimir
a67f5b780f
Use sorted ip array instead of trie in TrieDictionary 2020-11-08 19:19:04 +03:00
alexey-milovidov
2d427eb1e8
Merge pull request #16496 from ClickHouse/register-formats
Fix inconsistency in FormatFactory
2020-11-08 14:27:33 +03:00
Alexey Milovidov
dba57529f8 Merge branch 'master' of github.com:yandex/ClickHouse into fix-stringstream 2020-11-07 22:03:38 +03:00
Alexey Milovidov
941ee1a214 Fix error 2020-11-07 22:02:22 +03:00
Alexey Milovidov
80fb30c06d Fix error 2020-11-07 19:09:15 +03:00
Alexey Milovidov
8b8383d375 Fix error 2020-11-07 19:08:19 +03:00
Alexey Milovidov
c3973123bd Fix error 2020-11-07 19:03:23 +03:00
a.palagashvili
268f289bd1 resolved conflict 2020-11-07 16:36:38 +03:00
feng lv
1ca7dcb0a8 fix conflict 2020-11-07 11:44:29 +00:00
alexey-milovidov
494c188559
Merge pull request #16757 from ClickHouse/tavplubix-patch-3
Get rid of possible memory allocation in ThreadPool::worker(...)
2020-11-07 13:40:31 +03:00
Alexey Milovidov
fd84d16387 Fix "server failed to start" error 2020-11-07 03:14:53 +03:00
Alexey Milovidov
57de99bcd9 More simple 2020-11-06 20:46:43 +03:00
Alexey Milovidov
ad52fceb83 Fix bad code in SmallObjectPool 2020-11-06 20:34:14 +03:00
tavplubix
044f143463
Update ThreadPool.cpp 2020-11-06 18:53:33 +03:00
hexiaoting
28e87da976 remove map literal and Merge remote-tracking branch 'origin/master' into dev_map2 2020-11-06 15:07:41 +08:00
alexey-milovidov
6d5e852356
Merge pull request #16677 from ClickHouse/field-infinite-convert-to-int
Fix UBSan report when trying to convert infinite floating point number to integer
2020-11-05 23:20:25 +03:00
Alexey Milovidov
b56486510f Improve Arcadia 2020-11-05 12:55:01 +03:00
Alexey Milovidov
65aa226bcd Fix test 2020-11-05 12:26:51 +03:00
Alexander Kuzmenkov
2a0d9da5e4 cleanup 2020-11-05 12:25:42 +03:00
Alexander Kuzmenkov
faf1f1e0cd Merge remote-tracking branch 'origin/master' into HEAD 2020-11-05 11:09:11 +03:00
alesapin
a9529e8d65 Bad code but all events 2020-11-04 21:54:55 +03:00
alesapin
e2bce14aed Merge branch 'master' into complete_zk_api 2020-11-04 20:37:30 +03:00
Alexey Milovidov
22954cc123 Fix UBSan report when trying to convert infinite floating point number to integer 2020-11-04 19:48:36 +03:00
a.palagashvili
ceda5cb9c5 fix codestyle, resolvec conflict 2020-11-04 19:47:04 +03:00
Alexey Milovidov
ff8f80b6b6 Remove old file 2020-11-04 13:34:47 +03:00
Alexey Milovidov
f7c77b4a25 Fix unit tests 2020-11-04 13:14:23 +03:00
alexey-milovidov
4fede5b008
Merge pull request #16438 from azat/errorCode-v2
Add errorCodeToName() and system.errors
2020-11-04 12:40:47 +03:00
alexey-milovidov
973c1d7983
Merge pull request #16529 from azat/log_queries_min_time
Add log_queries_min_query_duration_ms
2020-11-04 01:47:18 +03:00
alexey-milovidov
8a3f38f332
Merge branch 'master' into errorCode-v2 2020-11-04 01:40:41 +03:00
alesapin
598532b582 Remove strange method 2020-11-03 18:01:56 +03:00
alesapin
5700e5e46d Fix response serialization 2020-11-03 17:57:40 +03:00
alesapin
93c2ad6034 Something work 2020-11-03 17:49:30 +03:00
alesapin
a02b4322b6 Merge branch 'master' into complete_zk_api 2020-11-03 13:13:07 +03:00
Alexander Kuzmenkov
f10a5207f4
Merge pull request #16601 from ClickHouse/ban_aggregate_function_in_primary_key
Restrict to use non-comparable types in primary key
2020-11-02 23:27:46 +03:00
Azat Khuzhin
3be8a56f5c Add log_queries_min_query_duration_ms
Only queries slower then the value of this setting will go to system.query_log,
i.e. something like slow_query_log in mysql.

v2: log_queries_min_time renamed to log_queries_min_query_duration_ms
v3: add current_database into system.query_thread_log
v4: rewrite test using current_database
v5: fix query_duration_ms in system.query_thread_log
2020-11-02 21:34:54 +03:00
alexey-milovidov
bfa0ddcdfe
Merge pull request #16596 from ClickHouse/strange-cpp
Add strange C++ code that actually does not change anything
2020-11-02 20:02:28 +03:00
feng lv
4d722bc52c fix conflict 2020-11-02 12:52:12 +00:00
a.palagashvili
805bfd286c resolved git modules 2020-11-02 15:16:49 +03:00
alesapin
f3b3025719 Ban non comparable types in primary key 2020-11-02 14:39:27 +03:00
Alexey Milovidov
67daa37a7f Add strange C++ code that actually does not change anything 2020-11-02 13:42:47 +03:00
hexiaoting
66bca89001 Style error fix 2020-11-02 17:23:02 +08:00
alesapin
8b0d9fbc07 Merge branch 'no_background_pool_no_more' into add_separate_pool_for_fetches 2020-11-02 10:54:09 +03:00
hexiaoting
3a70cf3773 Merge remote-tracking branch 'origin/master' into dev_map2 2020-11-02 14:46:56 +08:00
hexiaoting
2ba68d7494 Add map function 2020-11-02 14:05:53 +08:00
a.palagashvili
be2b002ff4 fixed cmake for building, added test for compression method, added basic code for encoding 2020-11-01 21:40:05 +03:00
Azat Khuzhin
5363c62fc5 Fix overflow check in ErrorCodes 2020-11-01 09:00:19 +03:00
Azat Khuzhin
c8f756707f Swap name and value in ErrorCodes definition 2020-10-31 11:32:44 +03:00
Azat Khuzhin
fff6b5549e Hide getCurrentTimeNanoseconds() to avoid possible errors
To avoid further errors like in:
- c0e15ba348 ("Fix RealTimeMicroseconds ProfileEvents")
- c856d02e0f4a519cd2a29ffbe1135196de0bc65a ("Fix query_thread_log.query_duration_ms unit")
2020-10-31 11:15:27 +03:00
alexey-milovidov
022648a154
Merge pull request #16558 from azat/query_thread_log_current_database
Add current_database into query_thread_log
2020-10-31 06:36:10 +03:00
alesapin
1fc7633289 Heartbeats working 2020-10-30 22:57:30 +03:00
Azat Khuzhin
5bab7a5bc7 Add current_database into query_thread_log 2020-10-30 21:16:10 +03:00
alesapin
c2525ef211 Server and client pinging each other 2020-10-30 17:16:47 +03:00
Azat Khuzhin
3661769e1b Remove some absolute changes for errorCodeToName/system.errors 2020-10-30 09:04:22 +03:00
Azat Khuzhin
0cd79de632 Eliminate extra strlen() in errorCodeToName() 2020-10-29 21:53:09 +03:00
Azat Khuzhin
cb50886ef1 Fix ErrorCodes increment on error 2020-10-29 21:24:52 +03:00
Azat Khuzhin
04bff595d3 Make check-style happy (by not using DB::ErrorCodes:: in comments) 2020-10-29 21:10:20 +03:00
Azat Khuzhin
7e79769ae4 Fix readability-inconsistent-declaration-parameter-name in ErrorCodes.h 2020-10-29 21:08:09 +03:00
Maxim Akhmedov
3627fabfb9 Remove -g0 form Arcadia build settings. 2020-10-29 17:37:23 +03:00
alesapin
5e2a3d12d7 Split requests and responses part from zookeeper 2020-10-29 17:25:44 +03:00
Azat Khuzhin
b42f77a791 Covert error codes list to lookup table and drop generation of them. 2020-10-29 10:55:41 +03:00
Azat Khuzhin
b2e2322895 Add system.errors table
Contains error codes with number of times they have been triggered.

Columns:

-   `name` ([String](../../sql-reference/data-types/string.md)) — name of the error (`errorCodeToName`).
-   `code` ([Int32](../../sql-reference/data-types/int-uint.md)) — code number of the error.
-   `value` ([UInt64](../../sql-reference/data-types/int-uint.md)) - number of times this error has been happened.

**Example**

``` sql
SELECT *
FROM system.errors
WHERE value > 0
ORDER BY code ASC
LIMIT 1

┌─name─────────────┬─code─┬─value─┐
│ CANNOT_OPEN_FILE │   76 │     1 │
└──────────────────┴──────┴───────┘
2020-10-29 10:55:38 +03:00
alesapin
0931658c2f Merge branch 'master' into add_separate_pool_for_fetches 2020-10-28 14:20:56 +03:00
alesapin
8a6be1602b
Merge pull request #16364 from ClickHouse/fix_uuid_mapping_exists
Minor improvements in DatabaseCatalog
2020-10-28 10:54:39 +03:00
Mikhail Filimonov
41971e073a
Fix typos reported by codespell 2020-10-27 12:04:03 +01:00
alexey-milovidov
a591d1f32a
Update ThreadStatus.cpp 2020-10-26 22:46:25 +03:00
feng lv
9b95ed9ead fix 2020-10-26 12:21:04 +00:00
alesapin
77d350aaeb Bigger setting value 2020-10-26 14:23:59 +03:00
Alexey Milovidov
0ba2fa8105 Fix "Arcadia" 2020-10-26 11:56:30 +03:00
Alexey Milovidov
88e846b36d Fix build on Mac OS 2020-10-26 07:42:22 +03:00
Alexey Milovidov
068235c2d7 Disable alt stack for sanitizers 2020-10-26 05:18:36 +03:00
Alexander Tokmakov
f8f2d62d70 minor improvements in DatabaseCatalog 2020-10-25 20:27:21 +03:00
Alexey Milovidov
4e2c0ba226 Provide diagnostics on stack overflow 2020-10-25 03:10:05 +03:00
alexey-milovidov
e00f6c4a0d
Merge branch 'master' into total_memory_tracker-by-default 2020-10-24 21:17:53 +03:00
feng lv
15e4e03469 add union distinct and setting union_default_mode 2020-10-24 13:18:04 +00:00
Azat Khuzhin
114ea9b1eb Fix accounting for new/delete from different threads for VariableContext::Thread
MemoryTracker assumes that for VariableContext::Thread new/delete may be
called from different threads, hence the amount of memory can go
negative.

However the MemoryTracker is nested, so even if the negative amount is
allowed for VariableContext::Thread it does not allowed for anything
upper, and hence the MemoryTracking will not be decremented properly.

Fix this, by passing initial size to the parent free.

This should fix memory drift for HTTP queries.
2020-10-23 21:07:52 +03:00
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
hexiaoting
483be134b2 Support MergeTree Engine 2020-10-23 16:36:17 +08:00
Amos Bird
ccf59c6412
Fix definitely wrong bug 2020-10-22 22:56:45 +08:00
alexey-milovidov
2ae32e3d5c
Merge pull request #16101 from azat/http-memory-tracking-fixes
Fix memory tracker settings (for HTTP queries)
2020-10-22 00:00:47 +03:00
Alexey Milovidov
2619efadc8 Fix multiple issues with memory tracking 2020-10-21 03:31:34 +03:00
Vladimir Chebotarev
aa5f207fd4
Added disable_merges option for volumes in multi-disk configuration (#13956)
Co-authored-by: Alexander Kazakov <Akazz@users.noreply.github.com>
2020-10-20 18:10:24 +03:00
Alexey Milovidov
448c87363c Style 2020-10-20 04:29:34 +03:00
Alexander Kuzmenkov
defcd29b31
Merge pull request #16036 from ClickHouse/stress_test_improvemets
Minor improvements of stress test
2020-10-19 16:12:30 +03:00
hexiaoting
fcd35b0619 Merge branch 'master' into dev_map2 2020-10-18 16:18:13 +08:00
hexiaoting
db8ba39c9c Implement Integer And Array for value type 2020-10-17 23:45:35 +08:00
Azat Khuzhin
082f30a3a1 Introduce ThreadStatus::applyQuerySettings() to reduce copy-paste 2020-10-17 15:01:53 +03:00
Alexander Tokmakov
026896835c fixes 2020-10-16 15:20:30 +03:00
Alexander Tokmakov
95ad45a3b0 minor improvements of stress test 2020-10-15 21:14:04 +03:00
Nikolai Kochetov
939d8edf33
Merge pull request #15999 from ClickHouse/fix-after-15437
Continuation of 15437
2020-10-15 18:20:48 +03:00
Vitaly Baranov
5f261cec3c
Merge pull request #15199 from filimonov/non_delimited_protobuf
ProtobufSingle format
2020-10-15 16:58:39 +03:00
Nikolai Kochetov
963ce315b2
Merge pull request #15454 from azat/dict-prealloc
Speedup hashed/sparse_hashed dictionary loading by preallocating the hash table
2020-10-15 15:03:53 +03:00
Nikolai Kochetov
40f62719ff Move event to stack. 2020-10-15 13:24:18 +03:00
Vitaly Baranov
997570780d
Merge branch 'master' into non_delimited_protobuf 2020-10-14 16:26:57 +03:00
Anton Popov
7470ac98bb
Merge pull request #15855 from hexiaoting/dev_fetch
Add Support for OFFSET_FETCH_CLAUSE
2020-10-14 15:21:28 +03:00
hexiaoting
cdb4dd57a6 Add new DataType Map(key,value) 2020-10-14 14:35:14 +08:00
hexiaoting
dea965832a Fix error for previous offset test 2020-10-13 11:32:43 +08:00
Azat Khuzhin
2947eff878 Fix query hang with connections_with_failover_max_tries = 0 (endless loop) 2020-10-12 22:07:26 +03:00
Mikhail Filimonov
87a8ba63f7
Few more CR fixes 2020-10-12 15:05:40 +02:00
alexey-milovidov
10e9d14466
Merge pull request #15818 from ClickHouse/style-pragma-once
Check for #pragma once in headers
2020-10-11 13:14:09 +03:00
alexey-milovidov
39e58128cd
Merge pull request #15812 from ClickHouse/bigint-hash
Minor changes in BigInt hash
2020-10-11 01:11:30 +03:00
Alexey Milovidov
269b6383f5 Check for #pragma once in headers 2020-10-10 21:37:02 +03:00
Alexey Milovidov
9f15daf45c Remove useless metrics to avoid confusion 2020-10-10 18:52:44 +03:00
Alexey Milovidov
a2ef0f6cba Minor changes in BigInt hash 2020-10-10 18:46:41 +03:00
Alexey Milovidov
4f2d4988c6 Fix build on Mac OS 2020-10-10 13:51:57 +03:00
Alexey Milovidov
2c71327ff5 Fix build on Mac OS 2020-10-10 11:02:02 +03:00
Azat Khuzhin
f4f79aa84a Add HashTable::reserve() (for preallocated hashed/sparse_hashed dictionaries) 2020-10-09 21:53:57 +03:00
Azat Khuzhin
553f6aa4cd Remove unused functions 2020-10-07 21:30:53 +03:00
alexey-milovidov
97d97f6b2e
Merge pull request #15513 from ClickHouse/aku/error-context
Add some context to an error message
2020-10-03 16:24:19 +03:00
alexey-milovidov
ae61f8f7a6
Update filesystemHelpers.cpp 2020-10-03 15:57:35 +03:00
alexey-milovidov
4d6402525a
Update filesystemHelpers.h 2020-10-03 15:57:12 +03:00
Alexey Milovidov
d426ba3074 Step 4: cleanup 2020-10-03 03:07:55 +03:00
Alexey Milovidov
b6ca8a0676 Step 3: check other usages, add a comment 2020-10-03 03:05:54 +03:00
Alexey Milovidov
2441be4b66 Step 2: move code to .cpp 2020-10-03 03:02:47 +03:00
Alexey Milovidov
6608de470d Step 1: handle EINTR in statvfs 2020-10-03 03:01:32 +03:00
Alexander Kuzmenkov
3be7c7745e Use a separate overload for formatting with fmt 2020-10-02 14:06:38 +03:00
Alexander Kuzmenkov
6e07bfe7bc return the comment 2020-10-01 17:29:22 +03:00
Alexander Kuzmenkov
c5d6e2e67c Add context to error messages 2020-10-01 14:02:53 +03:00
Nikolai Kochetov
45618c9d4c
Merge pull request #15437 from ClickHouse/azat-ThreadPool-UAF-fixes
Destroy resources captured by lambda after `ThreadFromGlobalPool::join()`
2020-09-30 16:50:30 +03:00
alesapin
01d8a36cd6
Merge pull request #15456 from ClickHouse/more-exception-safety-in-shellcommand
Fix exception safety in ShellCommand
2020-09-30 12:56:55 +03:00
Nikolai Kochetov
0e412686bc Better comments. 2020-09-30 11:25:22 +03:00
alexey-milovidov
412a54e356
Merge pull request #14693 from hustnn/zk_exist_fix2
Fix potential memory leak caused by zookeeper exist calling
2020-09-30 04:48:11 +03:00
Alexey Milovidov
78dbf10c7b Fix exception safety in ShellCommand 2020-09-30 03:00:45 +03:00
Nikolai Kochetov
727289cb09 Destroy resurces captured by lambda after ThreadFromGlobalPool::join(). 2020-09-29 23:43:02 +03:00
Nikolai Kochetov
a2c70c4611 Destroy resurces captured by lambda after ThreadFromGlobalPool::join(). 2020-09-29 22:11:40 +03:00
Nikolai Kochetov
a7e7fd084f Destroy resurces captured by lambda after ThreadFromGlobalPool::join(). 2020-09-29 13:48:11 +03:00
Azat Khuzhin
789434994a Reset job on failure too in ThreadPool::worker()
job should be reseted before decrementing scheduled_jobs to
ensure that the Job destroyed before wait() returns.
2020-09-29 10:56:36 +03:00
tavplubix
4578d89819
Merge pull request #15348 from ClickHouse/replicate_default_args
Continuation of #14791
2020-09-28 18:53:02 +03:00
tavplubix
421d3b0b86
Merge pull request #14760 from bharatnc/ncb/event_time_microsec_p2
add event_time_microseconds field for system.{trace,text,query,query_thread}_log tables
2020-09-28 18:34:21 +03:00
hustnn
a7024134dd Merge remote-tracking branch 'upstream/master' into zk_exist_fix2 2020-09-28 14:44:55 +08:00
Alexander Tokmakov
3bc8d9daa9 fix sync 2020-09-27 14:10:45 +03:00
Alexander Tokmakov
34addcf61f add review suggestions 2020-09-26 22:18:28 +03:00
alexey-milovidov
bbbe51033d
Merge pull request #15321 from ClickHouse/query-obfuscator
Query obfuscator
2020-09-26 19:43:36 +03:00
Alexey Milovidov
5e146eda04 Fix error 2020-09-26 06:02:05 +03:00
Alexey Milovidov
62c2c2000c Query obfuscator: development 2020-09-26 03:00:54 +03:00
bharatnc
24ea6b2380 TraceCollector - time s&us using same timespec 2020-09-25 10:39:37 -07:00
bharatnc
b0d4fe5114 TraceLog - add field event_time_microseconds 2020-09-25 10:39:37 -07:00
tavplubix
b96157e32b
Merge branch 'master' into enable_atomic_database_by_default 2020-09-25 13:42:39 +03:00
alexey-milovidov
13529265c4
Revert "Avoid deadlocks in Log/TinyLog" 2020-09-25 02:28:57 +03:00
Alexander Tokmakov
fb826557b7 Merge branch 'master' into enable_atomic_database_by_default 2020-09-25 02:04:01 +03:00
Alexey Milovidov
dce6a436f3 Fix strange code 2020-09-24 19:35:17 +03:00
Vitaly Baranov
0605808ed1
Merge pull request #14492 from vitlibar/use-previous-users-xml-if-failed-to-reload
Use previous users.xml if failed to reload
2020-09-24 16:25:19 +03:00
Alexander Kuzmenkov
813a876e93
Merge pull request #14962 from ClickHouse/log-avoid-deadlock
Avoid deadlocks in Log/TinyLog
2020-09-24 13:54:11 +03:00
Alexander Tokmakov
f0f91f84af Merge branch 'master' into enable_atomic_database_by_default 2020-09-23 21:50:15 +03:00
Alexander Tokmakov
a8266a3d3c fix DDDL with cross-replication and Atomic 2020-09-23 21:28:59 +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
Alexander Kuzmenkov
c0241b617a Merge remote-tracking branch 'origin/master' into HEAD 2020-09-22 13:14:31 +03:00
hustnn
3a59a7d5b6 Remove root path before adding to watches 2020-09-22 09:28:13 +08:00
Niu Zhaojie
76e0147bf4 Use opt num to identify request type 2020-09-22 09:28:12 +08:00
hustnn
35f1db0043 Fix potential memory leak caused by zookeeper exist calling 2020-09-22 09:28:12 +08:00
Alexey Milovidov
1e65105b06 Merge branch 'master' into log-avoid-deadlock 2020-09-21 21:09:06 +03:00
alexey-milovidov
e29c4c3cc4
Merge pull request #15024 from ClickHouse/fix_renameat2_einval_on_macos
Fix EINVAL in renameat2 on MacOS
2020-09-21 21:08:17 +03:00
alexey-milovidov
10d3a1d730
Update ThreadPool.cpp 2020-09-21 20:49:15 +03:00
tavplubix
fd2cc343e6
Update renameat2.cpp 2020-09-21 15:37:34 +03:00
tavplubix
450c1a5709
Update renameat2.cpp 2020-09-21 13:19:02 +03:00
Alexander Tokmakov
ef85ce90c3 fix build 2020-09-21 13:17:33 +03:00
Azat Khuzhin
30f96dc525 Fix possible UAF from jobs in the ThreadPool on shutdown
ThreadPoolImpl<>::worker signaling that job is done while still storing
std::function<> object, and this can lead to problems on shutdown, since
in in this cast std::function<> can refers to some global/static object
that had been already destroyed (typical example is Logger).

I believe that this is exactly what TSAN reports about (decoded
manually, since llvm-symbolizer does not work in the test env):

<details>

```

- 2020-09-20 17:44:43   Write of size 8 at 0x7b1000008f78 by main thread (mutexes: write M1432):
    operator delete(void*, unsigned long)
    ??:0:0

    Poco::Logger::~Logger()
    /build/obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Logger.cpp:39:1
    non-virtual thunk to Poco::Logger::~Logger()
    /build/obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Logger.cpp:0:0

    Poco::RefCountedObject::release() const
    /build/obj-x86_64-linux-gnu/../contrib/poco/Foundation/include/Poco/RefCountedObject.h:82:24
    Poco::Logger::shutdown()
    /build/obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Logger.cpp:346:16

    Poco::AutoLoggerShutdown::~AutoLoggerShutdown()
    /build/obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Logger.cpp:459:4

    cxa_at_exit_wrapper(void*)
    ??:0:0

```

```
- 2020-09-20 17:44:43   Previous atomic read of size 4 at 0x7b1000008f78 by thread T116:

    __tsan_atomic32_load
    ??:0:0

    int std::__1::__cxx_atomic_load<int>(std::__1::__cxx_atomic_base_impl<int> const*, std::__1::memory_order)
    /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/atomic:970:12
    std::__1::__atomic_base<int, false>::load(std::__1::memory_order) const
    /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/atomic:1487:17
    std::__1::__atomic_base<int, false>::operator int() const
    /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/atomic:1491:53
    Poco::Logger::is(int) const
    /build/obj-x86_64-linux-gnu/../contrib/poco/Foundation/include/Poco/Logger.h:1264:9
    MemoryTracker::logPeakMemoryUsage() const
    /build/obj-x86_64-linux-gnu/../src/Common/MemoryTracker.cpp:59:5

    MemoryTracker::~MemoryTracker()
    /build/obj-x86_64-linux-gnu/../src/Common/MemoryTracker.cpp:46:13

    DB::ThreadGroupStatus::~ThreadGroupStatus()
    /build/obj-x86_64-linux-gnu/../src/Common/ThreadStatus.h:51:7
    std::__1::__shared_ptr_emplace<DB::ThreadGroupStatus, std::__1::allocator<DB::ThreadGroupStatus> >::__on_zero_shared()
    /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:3602:23

    std::__1::__shared_count::__release_shared()
    /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:3440:9
    std::__1::__shared_weak_count::__release_shared()
    /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:3482:27
    std::__1::shared_ptr<DB::ThreadGroupStatus>::~shared_ptr()
    /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:4207:19
    DB::PipelineExecutor::executeImpl(unsigned long)::$_4::~$_4()
    /build/obj-x86_64-linux-gnu/../src/Processors/Executors/PipelineExecutor.cpp:720:34
    ThreadFromGlobalPool::ThreadFromGlobalPool<DB::PipelineExecutor::executeImpl(unsigned long)::$_4>(DB::PipelineExecutor::executeImpl(unsigned long)::$_4&&)::'lambda'()::~()
    /build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.h:161:54
    std::__1::__compressed_pair_elem<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::PipelineExecutor::executeImpl(unsigned long)::$_4>(DB::PipelineExecutor::executeImpl(unsigned long)::$_4&&)::'lambda'(), 0, false>::~__compressed_pair_elem()
    /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:2188:8
    std::__1::__function::__alloc_func<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::PipelineExecutor::executeImpl(unsigned long)::$_4>(DB::PipelineExecutor::executeImpl(unsigned long)::$_4&&)::'lambda'(), std::__1::allocator<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::Pip>
    /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1559:38
    std::__1::__function::__func<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::PipelineExecutor::executeImpl(unsigned long)::$_4>(DB::PipelineExecutor::executeImpl(unsigned long)::$_4&&)::'lambda'(), std::__1::allocator<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::PipelineE>
    /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1706:10

    std::__1::__function::__value_func<void ()>::~__value_func()
    /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:1828:19
    std::__1::function<void ()>::~function()
    /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2460:43
    ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>)
    /build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:268:5

    void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()::operator()() const
    /build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:116:73
    decltype(std::__1::forward<void>(fp)(std::__1::forward<void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(fp0)...)) std::__1::__invoke<void ThreadPoolImpl<std::__1::thread>::scheduleI>
    /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/type_traits:3519:1
    void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'(>
    /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:273:5
    void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned lon>
    /build/obj-x86_64-linux-gnu/../contrib/libcxx/include/thread:284:5

    __tsan_thread_start_func
    ??:0:0
```

```
- 2020-09-20 17:44:43   Mutex M1432 (0x0000181213a8) created at:
    pthread_mutex_init
    ??:0:0

    Poco::MutexImpl::MutexImpl()
    /build/obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Mutex_POSIX.cpp:64:6

    Poco::Mutex::Mutex()
    /build/obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Mutex.cpp:34:8

    __cxx_global_var_init
    /build/obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Logger.cpp:28:15
    _GLOBAL__sub_I_Logger.cpp
    /build/obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Logger.cpp:0:0

    __libc_csu_init
    ??:0:0
```

</details>
2020-09-20 23:46:28 +03:00
alexey-milovidov
7b35a6a59a
Merge pull request #15028 from ClickHouse/fix-bar
Fix buffer overflow in "bar" function
2020-09-20 19:04:15 +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
dae3b40a55 Fix buffer overflow in "bar" function 2020-09-19 22:15:16 +03:00
Alexey Milovidov
059646743b Remove OpenCL 2020-09-19 17:20:00 +03:00
Alexander Tokmakov
46aa307d0a fix EINVAL in renameat2 on MacOS 2020-09-19 17:19:06 +03:00
Vitaly Baranov
33efb36714 Use previous users.xml if failed to reload. 2020-09-19 16:21:12 +03:00
Alexey Milovidov
4d06bc62b1 Allow concurrent reads while writing to TinyLog 2020-09-19 14:02:11 +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
7d0f3db639 Fix annoying "Arcadia" 2020-09-18 23:19:41 +03:00
Alexey Milovidov
8a8e4f8a41 Attempt to speed-up clang build 2020-09-18 21:58:57 +03:00