Commit Graph

9446 Commits

Author SHA1 Message Date
tavplubix
1b832aa698
Merge pull request #19322 from ClickHouse/fix_18063
Fix segfault on aggregation when MV has unexpected structure
2021-01-22 20:15:09 +03:00
vdimir
ad73dc6c72
Check literal types in RewriteSumIfFunctionMatcher (#19406) 2021-01-22 19:21:45 +03:00
alesapin
c1e36cfe70 Something working 2021-01-22 19:04:57 +03:00
alexey-milovidov
b6822bfd04
Merge pull request #19365 from ClickHouse/tavplubix-patch-3
Better logging in MySQLHandler
2021-01-22 17:29:59 +03:00
alexey-milovidov
1fd500dfa4
Merge pull request #19378 from azat/pushing-to-view-logging
Add log message with elapsed time while pushing to view
2021-01-22 17:28:58 +03:00
tavplubix
9801bfc0ee
Merge branch 'master' into fix_18063 2021-01-22 17:28:05 +03:00
alexey-milovidov
f44f169aaa
Merge pull request #19385 from ClickHouse/sum-ubsan
Avoid UBSan report in aggregate function sum
2021-01-22 17:25:55 +03:00
alexey-milovidov
6e1d660e36
Merge pull request #19390 from ClickHouse/http_referer
Add http_referer to client info
2021-01-22 17:25:09 +03:00
alexey-milovidov
9818bd319a
Merge pull request #19381 from azat/parts-types-metrics
Add metrics for MergeTree parts (Wide/Compact/InMemory) types
2021-01-22 17:24:50 +03:00
alexey-milovidov
3431e39587
Merge pull request #19393 from ClickHouse/extract-all-groups-fail-fast
Fail fast in incorrect usage of extractAllGroups
2021-01-22 17:24:13 +03:00
alexey-milovidov
9add38f47b
Merge pull request #19394 from ClickHouse/quantile-weighted-overflow
Fix UBSan report in quantileExactWeighted
2021-01-22 17:18:01 +03:00
Kruglov Pavel
b2d5370b36
Merge pull request #17359 from ildus/tuple_arg_for_argMinMax
Add tuple argument support for argMin and argMax
2021-01-22 17:11:01 +03:00
Maksim Kita
d712748304 Function accurateCastOrNull fixed unitialized values for numeric cast 2021-01-22 16:24:51 +03:00
alesapin
4a06bf1d79 Merge branch 'fix_one_more_tiny_race' into in_memory_raft 2021-01-22 15:56:43 +03:00
kssenii
827ccc5395 Fix failing stateless test (tsan) 2021-01-22 12:19:06 +00:00
kssenii
6dc32ae4cb More correct for functions and aggr. functions 2021-01-22 11:58:29 +00:00
alesapin
cc2788af88 Fix typo 2021-01-22 13:48:40 +03:00
Alexander Kuzmenkov
8b9105bf39
Merge pull request #18446 from azat/constant-folding
Fix constant folding when the result is unknown
2021-01-22 13:26:24 +03:00
Nikolai Kochetov
90e9c63fa4
Merge pull request #19316 from ClickHouse/fix-now64
Refactor now64
2021-01-22 13:21:16 +03:00
Alexander Kuzmenkov
b58a696b24
Merge pull request #19379 from azat/Buffer-less-lock-contention
Reduce lock contention for multiple layers of the Buffer engine
2021-01-22 13:17:34 +03:00
alesapin
b2a4921558 Fix style 2021-01-22 13:14:53 +03:00
alesapin
83862799cd Fix one more race in TestKeeper 2021-01-22 13:02:48 +03:00
feng lv
beb0fec8bb mirror changes in code and comment 2021-01-22 09:13:22 +00:00
kssenii
bb91005356 Fix failing stateless test 2021-01-22 09:02:58 +00:00
Alexey Milovidov
56d09886e2 Fix MSan report in AES functions 2021-01-22 04:08:10 +03:00
alexey-milovidov
4e11e7cfa9
Merge pull request #18772 from azat/optimize-memory-tracking-fix
[RFC] Fix memory tracking for OPTIMIZE TABLE/merges
2021-01-22 03:48:06 +03:00
alexey-milovidov
52f570c28a
Merge pull request #19372 from davenger/posix_open_fix
Fix IDisk::open parameters to match posix open
2021-01-22 03:40:26 +03:00
Alexey Milovidov
14adc2d5f0 Fix UBSan report in quantileExactWeighted 2021-01-22 03:05:45 +03:00
Alexey Milovidov
e38ff3517d Fail fast in incorrect usage of extractAllGroups 2021-01-22 02:48:26 +03:00
Alexey Milovidov
afc6f2fd8e Add http_referer to client info 2021-01-22 01:55:45 +03:00
Alexey Milovidov
056b44b64f Add a test 2021-01-22 01:49:37 +03:00
Alexey Milovidov
960d149e0b More annotations 2021-01-22 01:05:04 +03:00
Alexey Milovidov
dcd03eb155 Remove useless file 2021-01-22 00:57:00 +03:00
kssenii
daab2c91bb Better 2021-01-21 21:15:11 +00:00
alesapin
5037d3befd
Merge pull request #19355 from ClickHouse/fix_race_test_keeper
Fix race condition in TestKeeperHandler on session finish
2021-01-21 23:53:18 +03:00
alexey-milovidov
1883bc546a
Merge pull request #19357 from ClickHouse/values-ubsan
Fix potential nullptr dereference in table function VALUES
2021-01-21 23:34:41 +03:00
alexey-milovidov
37c345f55e
Merge pull request #19347 from ClickHouse/array-element-ubsan
Avoid UBSan report in arrayElement
2021-01-21 23:34:19 +03:00
kssenii
1ec463b61f Fast test fix 2021-01-21 20:02:44 +00:00
alesapin
c2e6d6cfe8 Starting nukeeper server 2021-01-21 23:01:25 +03:00
Alexey Milovidov
d9cb1c1bdd Avoid UBSan report in aggregate function sum 2021-01-21 22:52:00 +03:00
Azat Khuzhin
b0a80af888 Reduce lock contention for multiple layers of the Buffer engine
Otherwise you can see something like this for the following query:

    ```sql
    WITH
        arrayMap(x -> demangle(addressToSymbol(x)), s.trace) AS trace_array,
        arrayStringConcat(trace_array, '\n') AS trace_string
    SELECT
        p.thread_id,
        p.query_id,
        p.query,
        trace_string
    FROM
    (
        SELECT
            query_id,
            query,
            arrayJoin(thread_ids) AS thread_id
        FROM system.processes
    ) AS p
    INNER JOIN system.stack_trace AS s ON p.thread_id = s.thread_id
    ORDER BY p.query_id ASC
    SETTINGS enable_global_with_statement = 0, allow_introspection_functions = 1
    FORMAT PrettyCompactNoEscapes
    ```

Lots of the following:

    ```sql
    INSERT INTO buffer (...) VALUES

    __lll_lock_wait
    pthread_mutex_lock
    std::__1::mutex::lock()
    DB::StorageBuffer::reschedule()
    DB::BufferBlockOutputStream::write(DB::Block const&)
    ```

That will wait one of this:

    ```
    INSERT INTO buffer (...) VALUES

    ...
    DB::PushingToViewsBlockOutputStream::write(DB::Block const&)
    DB::AddingDefaultBlockOutputStream::write(DB::Block const&)
    DB::SquashingBlockOutputStream::finalize()
    DB::SquashingBlockOutputStream::writeSuffix()
    DB::PushingToViewsBlockOutputStream::writeSuffix()
    DB::StorageBuffer::writeBlockToDestination(DB::Block const&, std::__1::shared_ptr<DB::IStorage>)
    DB::StorageBuffer::flushBuffer(DB::StorageBuffer::Buffer&, bool, bool, bool)
    ```

P.S. we cannot simply unlock the buffer during flushing, see comments in
the code
2021-01-21 22:09:24 +03:00
Azat Khuzhin
82e7e7d9cb Fix constant folding for expressions depends from subqueries result
Do not use subquery result, when value is unknown, for constant folding.

v2: fix simple subqueries, fixes 00597_push_down_predicate.
v3:
- use identity over introducing yet another cast analog (as suggested by @akuzm)
- simpler suitable_for_const_folding check
v4: use identity(cast()) since only cast() can provide corrent type (for
data types that does not have it's own type, i.e. DateTime)
v5: do not optimize consts if only_analyze isset, regardless the block
content
2021-01-21 21:26:50 +03:00
Azat Khuzhin
ea7528b853 identity: mark it as non suitable for constant folding 2021-01-21 21:22:23 +03:00
Azat Khuzhin
82f6c642ae identity: simple functions in oneline (coding style) 2021-01-21 21:22:23 +03:00
Azat Khuzhin
cb951c2116 Add metrics for MergeTree parts types
- PartsWide
- PartsCompact
- PartsInMemory
2021-01-21 21:17:00 +03:00
Azat Khuzhin
c68f7cd5b1 Measure time that spend during flush of the Buffer to the underlying 2021-01-21 21:11:39 +03:00
Azat Khuzhin
2c42600cf9 Add log message with elapsed time while pushing to view
Since right now theses queries are not logged and there is no way to
determine the time that it takes.

Proper fix will be to account them in system.processes (and all other
places), but this is not that easy.
2021-01-21 21:09:23 +03:00
Nikita Mikhaylov
dca0cbf4eb
Merge pull request #19313 from nikitamikhaylov/another-race-cache-dictionary
Fixed race between copy-constructor and addQueryAccessInfo
2021-01-21 21:02:36 +03:00
Nikita Mikhaylov
b93732e441
Merge pull request #18788 from hexiaoting/map_functions
Introduce mapContains, mapKeys, mapValues functions for Map data type
2021-01-21 21:02:03 +03:00
Nikita Mikhaylov
e8a9768bd0
Update map.cpp 2021-01-21 20:47:57 +03:00
Ildus Kurbangaliev
86db47de27 fix assert call 2021-01-21 22:23:49 +05:00
Alexander Gololobov
0a155ee2f1 Fix IDisk::open parameters to match posix open 2021-01-21 19:38:13 +03:00
kssenii
c1702f34ee Add factories info into system.query_log 2021-01-21 15:46:37 +00:00
alesapin
4aa11b3494 Remove zkutil namespace from TestKeeperStorage 2021-01-21 18:09:48 +03:00
tavplubix
600862f4a2
Better logging in MySQLHandler 2021-01-21 18:00:58 +03:00
alesapin
61fe49194b First working snapshots 2021-01-21 17:34:34 +03:00
vdimir
06d0252e76
Use IDataType::insertDefaultInto for inserting default values in join 2021-01-21 17:23:58 +03:00
alexey-milovidov
062f00aa5d
Merge pull request #19290 from azat/dist-broken-on-EOF-fix
Do not mark file for distributed send as broken on EOF
2021-01-21 17:00:36 +03:00
alesapin
d6b8dd7525 Dumb snapshoting 2021-01-21 16:53:10 +03:00
vdimir
2f11fdf4df
Fix default value in join types with non-zero default (close #18197) 2021-01-21 16:49:44 +03:00
tavplubix
ac50b1b231
Update StorageMaterializedView.cpp 2021-01-21 15:57:18 +03:00
alesapin
b8cdd8e375 Merge branch 'fix_race_test_keeper' into in_memory_raft 2021-01-21 15:45:41 +03:00
alexey-milovidov
7370335f87
Merge pull request #19339 from ClickHouse/fix-ipv4-formatting
Fix bad formatting of IPv4 addresses
2021-01-21 15:20:24 +03:00
Alexey Milovidov
56012402e2 Fix potential nullptr dereference in table function VALUES 2021-01-21 15:19:00 +03:00
alexey-milovidov
08dc5ebfa7
Merge pull request #19343 from ucasFL/sleep
fix sleep with infinite input
2021-01-21 15:04:30 +03:00
Alexey Milovidov
4968f1733e Annotations for DateLUT 2021-01-21 15:01:24 +03:00
Ildus Kurbangaliev
47a0f4e162 Add tuple argument support for argMin and argMax 2021-01-21 16:47:51 +05:00
Alexey Milovidov
2cd04e8923 Fix UBSan report in arraySum 2021-01-21 14:43:33 +03:00
alesapin
7f32926a21 Fix race condition in TestKeeperHandler on session finish 2021-01-21 14:37:20 +03:00
alesapin
f7175819d5 Add storage simpliest serialization 2021-01-21 14:07:55 +03:00
alesapin
a9df586c0e Merge branch 'master' into in_memory_raft 2021-01-21 12:43:30 +03:00
alesapin
fe6b964b32 Revert "Revert "Auto version update to [21.2.1.1] [54446]""
This reverts commit 42f63e14b5.
2021-01-21 12:39:46 +03:00
flynn
e75b116466
Rewrite sum(if()) and sumIf to countIf in special cases (#17041)
Co-authored-by: vdimir <vdimir@yandex-team.ru>
2021-01-21 12:01:35 +03:00
Nikolai Kochetov
9ae3628b66 Fix test. 2021-01-21 11:49:40 +03:00
Nikolai Kochetov
0d20b4575d Fix test. 2021-01-21 11:41:32 +03:00
Alexey Milovidov
110089086b Fix UBSan report in GatherUtils #19287 2021-01-21 11:41:19 +03:00
Alexey Milovidov
1bb8cc5c9a Avoid UBSan report in arrayElement 2021-01-21 11:10:46 +03:00
Azat Khuzhin
5f3059555a Fix system.parts _state column
There was LOGICAL_ERROR when querying this column, due to incorrect order:

    SELECT
        *,
        _state
    FROM system.parts

    2021.01.21 10:22:57.731556 [ 22851 ] {02a07c6d-467d-4681-9203-4dc11cc6fbee} <Fatal> : Logical error: 'Invalid Field get from type String to type UInt64'.
2021-01-21 10:41:23 +03:00
feng lv
2094eae23d fix sleep with infinite input 2021-01-21 04:49:35 +00:00
Alexey Milovidov
2d87e52b3a Fix bad formatting of IPv4 addresses 2021-01-21 03:24:44 +03:00
alesapin
af4afff723
Merge pull request #19284 from ClickHouse/decompose_test_keeper_storage
Split TestKeeperStorage and processing thread
2021-01-21 00:19:05 +03:00
Alexander Tokmakov
6560ec3ed5 fix segfault on aggregation when MV has unexpected structure 2021-01-20 19:36:18 +03:00
alesapin
d5a3adffbd Replicate something in test keeper storage with raft 2021-01-20 19:25:30 +03:00
alesapin
79d64106ab
Merge pull request #19293 from sundy-li/patch-2
Remove useless codes
2021-01-20 19:22:06 +03:00
Daniel Qin
25d8c047c5
Add a check to avoid exception when long alias equals to column (#18968)
* Add a check to avoid exception when long alias equas to column

* try fix with add an underlying table name, add function test

* format code

Co-authored-by: Ling Qin <lqin@freewheel.com>
2021-01-20 18:34:17 +03:00
Nikolai Kochetov
6cf4ed5c42 Refactor now64 2021-01-20 16:18:41 +03:00
alesapin
a241793a14 Merge branch 'decompose_test_keeper_storage' into in_memory_raft 2021-01-20 15:51:54 +03:00
Nikita Mikhailov
1d1e53f5d3 style 2021-01-20 15:37:53 +03:00
Nikita Mikhailov
cf88874088 done 2021-01-20 15:30:41 +03:00
alesapin
70679e4ee1 Fix test keeper handler 2021-01-20 15:11:26 +03:00
Nikolai Kochetov
1e4b32aa30
Merge pull request #19273 from CurtizJ/map-subcolumns
Support 'keys' and 'values' subcolumns in type Map
2021-01-20 13:13:01 +03:00
Alexander Kuzmenkov
636049f465
Merge pull request #19022 from ClickHouse/aku/window-prototype
[wip] WINDOW clause
2021-01-20 08:31:04 +03:00
Alexander Kuzmenkov
951b552727 rename 2021-01-20 08:29:27 +03:00
sundyli
659303d871
Remove useless codes 2021-01-20 09:25:57 +08:00
alexey-milovidov
af688d6529
Merge pull request #19285 from ucasFL/b1
move ctr from private to delete
2021-01-20 02:53:59 +03:00
Azat Khuzhin
8a00816396 Do not mark file for distributed send as broken on EOF
- the sender will got ATTEMPT_TO_READ_AFTER_EOF (added in
  946c275dfb) when the client just go
  away, i.e. server had been restarted, and this is incorrect to mark the
  file as broken in this case.

- since #18853 the file will be checked on the sender locally, and
  in case the file was truncated CANNOT_READ_ALL_DATA will be thrown.
  But before #18853 the sender will not receive
  ATTEMPT_TO_READ_AFTER_EOF from the client in case of file was truncated
  on the sender, since the client will just wait for more data, IOW just hang.

- and I don't see how ATTEMPT_TO_READ_AFTER_EOF can be received while
  reading local file.
2021-01-20 01:10:17 +03:00
Azat Khuzhin
e4350e078c Add ability to distinguish remote exceptions from local 2021-01-20 01:10:17 +03:00
Alexander Kuzmenkov
4d16dead0f Merge remote-tracking branch 'origin/master' into HEAD 2021-01-19 20:34:01 +03:00
Alexander Kuzmenkov
f5931a2289
Merge pull request #19236 from ClickHouse/aku/echo-leading
Make `-- { echo }` hint preserve leading comments
2021-01-19 20:20:58 +03:00
alesapin
374cee47e0 Fix typo 2021-01-19 19:22:40 +03:00