Commit Graph

470 Commits

Author SHA1 Message Date
Kseniia Sumarokova
908d78febe
Merge pull request #30851 from kssenii/clickhouse-local-improve
Allow delayed interactive mode
2021-11-08 10:07:29 +03:00
tavplubix
94a66f724e
Merge pull request #30135 from FArthur-cmd/add_parallel_reading_from_infile
Add parallel file reading `FROM INFILE` in client
2021-11-06 15:54:27 +03:00
kssenii
26c4affc18 Fixes 2021-11-04 11:00:35 +00:00
avogar
2dd4393ca1 Small refactoring in formats 2021-11-03 20:07:05 +03:00
mergify[bot]
8ef9e61e36
Merge branch 'master' into stress-test 2021-11-03 08:28:43 +00:00
kssenii
feb3d8bc75 Merge branch 'master' of github.com:ClickHouse/ClickHouse into clickhouse-local-improve 2021-11-02 20:01:15 +00:00
Kseniia Sumarokova
351c7bc8d6
Merge pull request #30881 from kssenii/fix-local-verbose
clickhouse-local interactive fix --verbose and allow logging into file
2021-11-01 23:08:49 +03:00
kssenii
35349056b8 Fix 2021-11-01 16:33:19 +03:00
alexey-milovidov
04f5c4bd9a
Merge pull request #30938 from kssenii/fix-local-file-progress
Fix file progress for clickhouse-local
2021-11-01 12:39:12 +03:00
kssenii
d7dab834ec Fix file progress for local 2021-11-01 00:33:03 +03:00
Alexey Milovidov
993f3faefd Miscellaneous 2021-10-31 18:11:46 +03:00
Pavel Medvedev
7b50ab7136 skip spaces before and after \<letter> alias
... for proper single letter like `\l`, `\d` handling.

Using `std::search()` for alias substring search instead of `.starts_with()`
to get the alias start position, to check the leading range contains only space
characters, and to get the rest of input after the space.

See issue #9339
2021-10-31 15:46:30 +01:00
alexey-milovidov
c504e0c08d
Update ClientBase.cpp 2021-10-30 21:17:38 +03:00
Alexey Milovidov
05c2cd098c Fix parallel formatting and progress flicker in clickhouse-client 2021-10-30 21:02:33 +03:00
kssenii
e97233f33d Fix --verbose in local and logging 2021-10-30 17:23:24 +03:00
Pavel Medvedev
f4e3d053c2 add aliases for \<letter> interactive client commands
initial implementation for:
  * \d aka SHOW TABLES
  * \l aka SHOW DATABASES
  * \c aka USE

Replace prefix of interactive `input` string with an aliased command
inside of the loop of `ClientBase::runInteractive()` in order to allow
command parameters, like `\c db_name`.

See issue #9339
2021-10-30 09:00:45 +02:00
kssenii
07bab5193f Delayed interactive 2021-10-29 16:23:53 +03:00
Artur
89d8fb7622 correct test 2021-10-28 21:23:58 +00:00
Artur
72685d0c78 refactoring and test improvement 2021-10-28 18:46:51 +00:00
mergify[bot]
c1bff1b17d
Merge branch 'master' into stress-test 2021-10-28 14:53:30 +00:00
Alexey Milovidov
8b4a6a2416 Remove cruft 2021-10-28 02:10:39 +03:00
mergify[bot]
d9d9d38e4f
Merge branch 'master' into stress-test 2021-10-27 19:00:31 +00: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
mergify[bot]
943a1cbba0
Merge branch 'master' into stress-test 2021-10-21 04:41:23 +00: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
mergify[bot]
0910a8ec74
Merge branch 'master' into stress-test 2021-10-05 09:46:18 +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
Pavel Kruglov
2db11bc6c5 Add backward compatibility check in stress test 2021-10-04 16:34:14 +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