Commit Graph

447 Commits

Author SHA1 Message Date
Artur
72685d0c78 refactoring and test improvement 2021-10-28 18:46:51 +00:00
Alexey Milovidov
8b4a6a2416 Remove cruft 2021-10-28 02:10:39 +03:00
Artur
20c5e9d321 refactoring, adding tests for local 2021-10-26 15:16:58 +00:00
Nikolai Kochetov
05f42e2d07 Merge branch 'master' into refactor-pipeline-executor 2021-10-25 12:09:38 +03:00
Kruglov Pavel
855b10261c
Merge pull request #30285 from kssenii/fix-local-exceptions
Fix printing stacktraces for clickhouse-local
2021-10-24 19:54:59 +03:00
Azat Khuzhin
83d68246c3 Fix LOGICAL_ERROR on connection draining in case of ECONNRESET
In case of ECONNRESET (Connection reset by peer) the "cancelled" will
not be set, and so drain() will fail with LOGICAL_ERROR:

<details>

    2021.10.16 04:10:55.054771 [ 7635 ] {882164e0-ca26-4955-8759-708ba1f6e85c} <Error> PullingAsyncPipelineExecutor: Code: 210. DB::NetException: Connection reset by peer, while writing to socket (127.0.0.2:9000). (NETWORK_ERROR), Stack trace (when copying this message, always include the lines below):

    ...
    4. ./obj-x86_64-linux-gnu/../src/Common/NetException.h:12: DB::NetException::NetException(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x20db5749 in /usr/bin/clickhouse
    5. ./obj-x86_64-linux-gnu/../src/IO/WriteBufferFromPocoSocket.cpp:56: DB::WriteBufferFromPocoSocket::nextImpl() @ 0x211d56bb in /usr/bin/clickhouse
    6. ./obj-x86_64-linux-gnu/../src/IO/WriteBuffer.h:47: DB::WriteBuffer::next() @ 0x14e4c874 in /usr/bin/clickhouse
    7. ./obj-x86_64-linux-gnu/../src/Client/Connection.cpp:560: DB::Connection::sendCancel() @ 0x227c0c22 in /usr/bin/clickhouse
    8. ./obj-x86_64-linux-gnu/../src/Client/HedgedConnections.cpp:242: DB::HedgedConnections::sendCancel() @ 0x227f1b53 in /usr/bin/clickhouse
    ...
    2021.10.16 04:12:35.555530 [ 5575 ] {} <Fatal> : Logical error: 'Cannot drain connections: cancel first.'.

</details>

Found by stress tests on CI [1].

  [1]: https://clickhouse-test-reports.s3.yandex.net/0/d3cb99701d4aaec384fd183168d10e0f650ecc1d/stress_test_(debug).html#fail1
2021-10-23 22:44:32 +03:00
Filatenkov Artur
2384108ea5
remove trailing whitespaces 2021-10-22 15:32:24 +03:00
Filatenkov Artur
328a605f7e
Merge branch 'ClickHouse:master' into add_parallel_reading_from_infile 2021-10-22 15:20:00 +03:00
Azat Khuzhin
b0984a3337 clickhouse-local: fix block lost in interactive mode
In case only one block in the query execution, LocalConnection can
return Progress packet instead of the block itself, after it will call
poll() again and the block will got lost.

Fix this by processing block before Progress packet.

And actually AFAICS Progress can be removed after pollImpl(), since
there is Progress handling before.

Fixes: #30282 (cc @kssenii)
2021-10-22 00:46:01 +03:00
kssenii
ec7c93728b Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into fix-local-exceptions 2021-10-20 23:42:27 +00:00
Kseniia Sumarokova
cae31437e8
Merge pull request #30336 from kssenii/fix-local-defaults
Send table columns in clickhouse-local
2021-10-20 21:18:02 +03:00
Kseniia Sumarokova
5324cc8359
Merge pull request #30282 from kssenii/fix-local-less-threads
Less threads in clickhouse-local, fix Ok. printing
2021-10-19 22:54:28 +03:00
Nikolai Kochetov
171a6e35ce Fix build. 2021-10-19 21:39:34 +03:00
Nikolai Kochetov
1e1bd568ac Merge branch 'master' into refactor-pipeline-executor 2021-10-19 17:57:58 +03:00
Maksim Kita
0b3926950d
Merge pull request #30143 from amosbird/useupstreamreplxx
Use upstream replxx
2021-10-19 17:50:43 +03:00
Ilya Yatsishin
4396daeb1f
Merge pull request #30064 from azat/client-print-profile-events 2021-10-19 12:42:09 +03:00
kssenii
4bf1f2ca12 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into fix-local-exceptions 2021-10-19 08:28:47 +00:00
Azat Khuzhin
424bf6fcf4 client: add ability to print raw profile events
This can be useful for debugging and for testing (since you will not
need to obtain query_id and look at query_log).

v2:
- mark test as long
- add option to docs
- add type of profile event into logs too
v3:
- resolve conflicts
- and fix onProfileEvents callback
v4:
- add --print-profile-events separate switch
2021-10-19 00:54:38 +03:00
kssenii
b7a53df9de Send columns description in clickhouse-local 2021-10-18 14:53:42 +00:00
Nikolay Degterinsky
d76976e272 Merge branch 'master' into query_parameters 2021-10-18 17:34:20 +03:00
Kruglov Pavel
003955b59f
Merge branch 'master' into clickhouse-local 2021-10-18 14:24:08 +03:00
kssenii
1cc511789d Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into fix-local-less-threads 2021-10-18 08:30:59 +00:00
Nikolai Kochetov
bfcbf5abe0 Merge branch 'master' into removing-data-streams-folder 2021-10-17 10:42:37 +03:00
kssenii
4390dde76c Fix local break on timeout 2021-10-16 19:50:05 +00:00
kssenii
09e3aec96e Fix local break on timeout 2021-10-16 19:48:51 +00:00
alexey-milovidov
3d2fb2f67b
Merge pull request #30275 from kssenii/fix-local-query-stage
--stage for clickhouse-local
2021-10-16 18:42:28 +03:00
Nikolai Kochetov
a08c98d760 Move some files. 2021-10-16 17:03:50 +03:00
kssenii
5db75f9e77 Better exception 2021-10-16 11:30:24 +00:00
kssenii
9525437499 Less threads in local, fix Ok. printing 2021-10-16 10:25:39 +00:00
kssenii
6c0eaf76da Query stage for local 2021-10-16 08:43:18 +00:00
Nikolai Kochetov
067eaadadd Merge branch 'master' into removing-data-streams-folder 2021-10-16 09:46:05 +03:00
Nikolai Kochetov
c668696047
Merge pull request #30171 from ClickHouse/remove-stream-interfaces
Remove stream interfaces
2021-10-16 09:34:01 +03:00
Nikolai Kochetov
fd14faeae2 Remove DataStreams folder. 2021-10-15 23:18:20 +03:00
alexey-milovidov
50b54b37ca
Merge pull request #30072 from ClickHouse/client-profile-msg
Fix hardware utilization info printing in client
2021-10-15 23:05:43 +03:00
avogar
be4fc79d32 Better handling exceptions, update tests 2021-10-15 18:30:32 +03:00
Filatenkov Artur
77bbd949dc
Merge branch 'ClickHouse:master' into add_parallel_reading_from_infile 2021-10-15 15:26:45 +03:00
avogar
a1a4df2501 Fix handling exception 'unrecognised option' in clickhouse-local and client 2021-10-14 16:34:05 +03:00
Nikolai Kochetov
ab28c6c855 Remove BlockInputStream interfaces. 2021-10-14 13:25:43 +03:00
Nikolai Kochetov
3d3e143c29
Merge pull request #30001 from ClickHouse/remove-streams-from-formats
Remove streams from formats.
2021-10-14 12:39:07 +03:00
Nikolay Degterinsky
63faf0212d Merge branch 'master' into query_parameters 2021-10-13 23:55:09 +03:00
Amos Bird
8851cb8459
Use upstream replxx 2021-10-14 00:52:53 +08:00
Filatenkov Artur
bf1d45362d
Merge branch 'master' into add_parallel_reading_from_infile 2021-10-13 18:47:13 +03:00
Artur
18c2ac2e1e add parallel reading from infile in client 2021-10-13 15:43:52 +00:00
zhangxiao871
923c76fc99 Modify comments 2021-10-13 18:38:24 +08:00
Nikolai Kochetov
a5fa5c7ea3 Move formats to Impl 2021-10-13 13:01:08 +03:00
Nikolay Degterinsky
49c1a52f34 Merge branch 'master' into query_parameters 2021-10-13 03:04:40 +03:00
Nikolay Degterinsky
5fa0f9e7fd Add parameters to INSERT queries 2021-10-13 03:01:41 +03:00
Dmitry Novik
f1bbc7f9b6 Fix hardware utilization info printing in client 2021-10-12 23:17:15 +03:00
Nikolai Kochetov
2c92caac17 Fix clickhouse local. 2021-10-11 21:20:35 +03:00
Nikolai Kochetov
ec18340351 Remove streams from formats. 2021-10-11 19:11:50 +03:00
Dmitry Novik
bfdd34c13d code cleanup 2021-10-11 17:39:24 +03:00
Dmitry Novik
7c3192735a Reset profile events stream in Connection::sendQuery 2021-10-11 17:39:24 +03:00
Dmitry Novik
9f9af28b5e Output memory usage with progress 2021-10-11 17:39:24 +03:00
Dmitry Novik
73df6190df Cleanup code 2021-10-11 17:39:24 +03:00
Dmitry Novik
7e3caf96be Fix cores approximation 2021-10-11 17:39:24 +03:00
Dmitry Novik
4c6b3c40f2 Calculate approximate cores number used 2021-10-11 17:39:24 +03:00
Dmitry Novik
15ac65aa33 Add thread usage info on client side 2021-10-11 17:39:24 +03:00
Dmitry Novik
356723427d WIP on ProfileEvents forwarding 2021-10-11 17:39:23 +03:00
Dmitry Novik
362bcb2f66 Introduce ProfileEvents packet 2021-10-11 17:29:50 +03:00
Nikolai Kochetov
a95c28ec4b
Merge pull request #29898 from ClickHouse/remove-native-stream
Remove some more streams.
2021-10-10 21:01:16 +03:00
Alexey Milovidov
103b3c91ba Remove 'printf' function usage. 2021-10-10 04:21:07 +03:00
Nikolai Kochetov
c6bce1a4cf Update Native. 2021-10-08 20:21:19 +03:00
Nikolai Kochetov
340b53ef85 Remove some more streams. 2021-10-08 17:03:54 +03:00
kssenii
c734ada95b Fix 2021-10-07 20:28:38 +00:00
Azat Khuzhin
bbee102e58 Fix --stage for clickhouse-local
This also fixes UBsan error, since query_processing_stage was not
initialized before for clickhouse-local.
2021-10-04 21:00:48 +03:00
Kseniia Sumarokova
ddc775b1c8
Merge pull request #29626 from kssenii/fix-signals
Follow-up for #26231
2021-10-03 22:13:54 +03:00
Kseniia Sumarokova
ad0fcda713
Update ClientBase.h 2021-10-03 12:11:59 +03:00
kssenii
aa539937fb Fix build check 2021-10-03 06:23:05 +00:00
kssenii
0ed92d85e2 Fix 2021-10-02 13:05:19 +00:00
kssenii
e10255bba3 Fix 2021-10-02 08:10:34 +00:00
Alexey Milovidov
fe6b7c77c7 Rename "common" to "base" 2021-10-02 10:13:14 +03:00
kssenii
dabab85c60 Fix 2021-10-01 17:31:00 +00:00
kssenii
05181c6900 Fix 2021-10-01 14:13:02 +00:00
kssenii
59cbe8579d Interrupt listener 2021-09-29 22:01:52 +00:00
kssenii
07b979bda3 Rewrite to processors 2021-09-29 19:17:02 +00:00
kssenii
2c005db9ad Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into interactive-mode-for-clickhouse-local 2021-09-29 17:45:15 +00:00
Nikolai Kochetov
78a7665f43 Merge branch 'master' into rewrite-pushing-to-views 2021-09-27 10:56:50 +03:00
kssenii
8e200b68a4 Small fix 2021-09-26 21:22:04 +00:00
kssenii
2129230b1e Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into interactive-mode-for-clickhouse-local 2021-09-25 09:16:05 +00:00
kssenii
f3784780fd Fixes 2021-09-25 08:46:57 +00:00
Alexey Milovidov
cd7f9d981c Remove ya.make 2021-09-25 04:22:54 +03:00
Nikolai Kochetov
998d29ebc7 Merge branch 'master' into rewrite-pushing-to-views 2021-09-23 13:10:27 +03:00
Azat Khuzhin
015695b3bf Fix connection timeouts (send_timeout/receive_timeout)
Query is not executed within sendQuery() function.

INSERT query consist from multiple parts:
- sendQuery()
- write()/writePrepared() -- send Data blocks
- writeSuffix() -- send empty Data block and receive EndOfStream
(see RemoteBlockOutputStream for more info)
So as you can see it is not executed completely from the sendQuery() function.

SELECT query (and others) also send Data blocks to the client after.

And what this means that temporary timeout (via TimeoutSetter) is not
enough, since next query can use timeout from the previous query.

Usually you do not see it, because:
- You don't use custom send_timeout/receive_timeout
- SELECT is fast enough

However it is not the case with INSERT, especially with
insert_distributed_sync=1, since
DistributedBlockOutputStream::writeSuffix() may stack because remote
server still INSERT'ing the data (i.e. creating znodes in zookeeper for
ReplicatedMergeTree, syncing blocks, and similar) that was issued from
DistributedBlockOutputStream::write(), and it will lead to the following
exception:

    Code: 209, e.displayText() = DB::NetException: Timeout exceeded while reading from socket (127.1:9000): while receiving packet from ch-47-drt.dpa.semrush.net:9000: Insertion status:
    Wrote X blocks and Y rows on shard Z replica 0, 127.1:9000 (average 0 ms per block, the slowest block N ms)
    0. DB::Exception::Exception()
    1. DB::ReadBufferFromPocoSocket::nextImpl()
    2. void DB::readVarUIntImpl<false>(unsigned long&, DB::ReadBuffer&)
    3. DB::Connection::receivePacket()
    4. DB::RemoteBlockOutputStream::writeSuffix()
    ...
2021-09-23 09:03:13 +03:00
kssenii
04575eb12b Review fixes, fix style check and clang-tidy 2021-09-22 21:35:29 +00:00
Azat Khuzhin
e5f66fd103 Add socket timeout values into SOCKET_TIMEOUT exception 2021-09-20 09:51:42 +03:00
kssenii
8d19ed5ee7 Fix remaining tests 2021-09-20 05:39:13 +00:00
kssenii
db45363c19 Fix tests 2021-09-19 18:42:45 +00:00
kssenii
3b4843a1a9 Apply changed from pr 27135 2021-09-16 18:44:42 +00:00
kssenii
55619dcc1b Correct merge 2021-09-16 16:14:17 +00:00
kssenii
c88dc460d4 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into interactive-mode-for-clickhouse-local 2021-09-16 16:13:04 +00:00
Nikolai Kochetov
b997214620 Rename QueryPipeline to QueryPipelineBuilder. 2021-09-14 20:48:18 +03:00
kssenii
4605299262 Correct merge 2021-09-13 06:45:27 +00:00
Sergei Semin
f74350c148 fix special build 2021-09-12 02:49:31 +03:00
kssenii
33ff6ec060 Fix tests 2021-09-11 17:17:48 +00:00
kssenii
7f1770cc3c Fix contexts 2021-09-11 12:03:28 +00:00
kssenii
ca81c13775 Move readArguments to base 2021-09-11 11:49:42 +00:00
kssenii
ddfe1e4d64 Some fixes 2021-09-11 11:34:22 +00:00
kssenii
fa04b13175 Break some tests 2021-09-09 13:25:25 +00:00
kssenii
8f77855981 Some review fixes 2021-09-05 00:52:35 +03:00
kssenii
1c20b223cb Merge branch 'master' of github.com:ClickHouse/ClickHouse into interactive-mode-for-clickhouse-local 2021-09-04 20:01:31 +03:00
Alexey Milovidov
19445ac096 Drop unused headers 2021-09-01 02:47:52 +03:00
Dmitrii Kovalkov
9871ad70ff Exclude fuzzers 2021-08-30 11:12:25 +03:00
kssenii
578a750b8b Small clean up 2021-08-27 11:47:47 +03:00
kssenii
7d6f3d96c1 Better 2021-08-23 13:01:42 +03:00
kssenii
95645e8f26 Fix progress 2021-08-23 10:13:27 +03:00
kssenii
deeb942ccb Fix 2021-08-21 21:42:59 +03:00
kssenii
1f0bb0d81b Reorganize a bit more, fix tests 2021-08-21 18:17:02 +03:00
kssenii
3a39e3f039 Reorganize options 2021-08-21 00:39:28 +03:00
kssenii
21f9622cad Reorganize multiquery processing 2021-08-20 23:39:13 +03:00
kssenii
41d735fd56 Fix context 2021-08-20 15:16:13 +03:00
kssenii
39e80a47a3 Merge branch 'master' of github.com:ClickHouse/ClickHouse into interactive-mode-for-clickhouse-local 2021-08-20 10:13:58 +03:00
kssenii
ceca7a7e2c Fix some tests 2021-08-19 23:27:40 +03:00
kssenii
b5f6a7cb97 Fix local 2021-08-19 14:07:47 +03:00
kssenii
d1484a6f2e Use more client code than local, hope tests survive 2021-08-19 00:01:17 +03:00
kssenii
e187bb781c Move everything to base 2021-08-18 17:39:04 +03:00
kssenii
fb0b445ee0 Lets add LocalConnection (a start) 2021-08-17 22:59:51 +03:00
Amos Bird
27ff081403
Fix some leftover TODOs 2021-08-17 17:22:12 +08:00
kssenii
cefd9b473e Merge branch 'master' of github.com:ClickHouse/ClickHouse into interactive-mode-for-clickhouse-local 2021-08-16 16:41:24 +03:00
kssenii
30cc705464 Merge branch 'master' of github.com:ClickHouse/ClickHouse into interactive-mode-for-clickhouse-local 2021-08-07 22:53:50 +03:00
kssenii
9f9be65ac7 Merge branch 'master' of github.com:ClickHouse/ClickHouse into interactive-mode-for-clickhouse-local 2021-08-05 10:42:32 +03:00
kssenii
b5b9624cca Fixes, add test 2021-08-03 23:49:16 +03:00
kssenii
f6e45b3193 Fix tests, style. Better cancel query 2021-08-02 17:46:21 +03:00
Nikolai Kochetov
6951e8147d
Merge pull request #27020 from amosbird/shardlevelconstness
Shard-level const column
2021-08-02 13:45:20 +03:00
kssenii
6d4440836b Process SIGINT in interactive mode 2021-08-02 01:22:07 +03:00
kssenii
3982031215 Completion for clickhouse-local 2021-08-01 23:28:39 +03:00
Amos Bird
b76a854f5a
backward compatible 2021-08-01 09:06:16 +08:00
kssenii
6e8eb598bf Some review fixes 2021-07-31 15:34:29 +03:00
kssenii
c9e607f1e8 Progress for interactive clickhouse local 2021-07-31 15:08:30 +03:00
kssenii
48f4f2a0c2 Merge branch 'master' of github.com:ClickHouse/ClickHouse into interactive-mode-for-clickhouse-local 2021-07-29 18:41:54 +03:00
kssenii
3f259e195b Better 2021-07-29 15:58:50 +03:00
Nikolai Kochetov
cfa3fd4b87 Hold context in HedgedConnections to prevent use-after-free on settings. 2021-07-29 13:29:36 +03:00
kssenii
22e3bde548 Refactoring, fix test, fix local interactive 2021-07-29 12:45:58 +03:00
kssenii
62d1e18b7f Refactoring 2021-07-28 18:54:32 +03:00
kssenii
fb18f7fc72 Fix tests 2021-07-27 17:15:31 +03:00
Nikolai Kochetov
a9effdad18 Merge branch 'master' into output-streams-to-processors 2021-07-27 11:31:53 +03:00
kssenii
d30f54b335 Refactoring, fix tests 2021-07-27 01:28:27 +03:00
Nikolai Kochetov
7da5bb3871 Do not start new hedged connection if query was already canceled. 2021-07-26 20:48:38 +03:00
Nikolai Kochetov
61d8f880cd Rename some files. 2021-07-26 19:48:25 +03:00
kssenii
4886d931a1 Fix some tests 2021-07-26 11:24:04 +03:00
alexey-milovidov
7b76bfc719
Merge pull request #26318 from amosbird/connectionpoolfactory
Connection pool cache
2021-07-26 06:45:03 +03:00
Amos Bird
2ba6ef1487
Better implementation 2021-07-24 18:02:51 +08:00
kssenii
4dbb2e5bd8 Merge branch 'master' of github.com:ClickHouse/ClickHouse into interactive-mode-for-clickhouse-local 2021-07-24 00:36:25 +03:00
kssenii
accd6d5c0f Refactoring 2021-07-24 00:32:38 +03:00
kssenii
8c05e4f038 Refactoring 2021-07-23 23:54:49 +03:00
vdimir
dccc379d39
Fix use after free in AsyncDrain connection from S3Cluster 2021-07-23 10:40:03 +03:00
kssenii
59b0ce21e4 Tiny refactoring 2021-07-23 00:27:26 +03:00
kssenii
b337f481dc Merge branch 'master' of github.com:ClickHouse/ClickHouse into interactive-mode-for-clickhouse-local 2021-07-22 22:24:19 +03:00
Nikolai Kochetov
20b2837b27 Fix destructor for PocoSocketWrapper. 2021-07-20 16:50:31 +03:00
Amos Bird
dbfb699690
Asynchronously drain connections. 2021-07-19 21:53:29 +08:00
kssenii
022a0e00f2 Refactor client, merging non-interactive 2021-07-18 23:18:11 +03:00