Frank Chen
90efbc323d
Fix conflicts
2022-07-07 17:44:32 +08:00
Frank Chen
93dc109e36
Fix code
2022-07-07 17:44:19 +08:00
Frank Chen
19f3f3e6ca
Initialize thread tracing context for TCPServer
2022-07-07 17:42:22 +08:00
Alexey Milovidov
02adad3f27
Merge pull request #37860 from amosbird/remove-duplicated-log
...
Remove duplicate peak mem log
2022-07-07 08:16:06 +03:00
Azat Khuzhin
9eeb856519
Fix INSERT into Distributed hung due to ProfileEvents
...
Right now RemoteInserter does not read ProfileEvents for INSERT, it
handles them only after sending the query or on finish.
But #37391 sends them for each INSERT block, but sometimes they can be
no ProfileEvents packet, since it sends only non-empty blocks.
And this adds too much complexity, and anyway ProfileEvents are useless
for the server, so let's send them only if the query is initial (i.e.
send by user).
Note, that it is okay to change the logic of sending ProfileEvents w/o
changing DBMS_TCP_PROTOCOL_VERSION, because there were no public
releases with the original patch included yet.
Fixes : #37391
Refs: #35075
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-06-22 15:41:15 +03:00
Azat Khuzhin
4baa7690ae
Send profile events for INSERT queries (previously only SELECT was supported)
...
Reproducer:
echo "1" | clickhouse-client --query="insert into function null('foo String') format TSV" --print-profile-events --profile-events-delay-ms=-1
However, clickhouse-local is differnt, it does sent the periodically,
but only if query was long enough, i.e.:
# yes | head -n100000 | clickhouse-local --query="insert into function null('foo String') format TSV" --print-profile-events --profile-events-delay-ms=-1
[s1.ch] 2022.05.20 15:20:27 [ 0 ] ContextLock: 10 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] DiskReadElapsedMicroseconds: 29 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] IOBufferAllocBytes: 200000 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] IOBufferAllocs: 1 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] InsertQuery: 1 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] InsertedBytes: 1000000 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] InsertedRows: 100000 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] MemoryTrackerUsage: 1521975 (gauge)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] OSCPUVirtualTimeMicroseconds: 102148 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] OSReadChars: 135700 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] OSWriteChars: 8 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] Query: 1 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] RWLockAcquiredReadLocks: 2 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] ReadBufferFromFileDescriptorRead: 5 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] ReadBufferFromFileDescriptorReadBytes: 134464 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] RealTimeMicroseconds: 293747 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] SoftPageFaults: 382 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] TableFunctionExecute: 1 (increment)
[s1.ch] 2022.05.20 15:20:27 [ 0 ] UserTimeMicroseconds: 102148 (increment)
v2: Proper support ProfileEvents in INSERTs (with protocol change)
v3: Receive profile events on INSERT queries
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-06-16 11:59:01 +03:00
Anton Popov
df6882d2b9
Revert "Fix errors of CheckTriviallyCopyableMove type"
2022-06-07 13:53:10 +02:00
Vitaly Baranov
d199478169
Merge pull request #37303 from ClickHouse/fix_trash
...
Try to fix some trash
2022-06-07 10:17:39 +02:00
Robert Schulze
2d87af2a15
Merge pull request #37647 from DevTeamBK/Fix-all-CheckTriviallyCopyableMove-Errors
...
Fix errors of CheckTriviallyCopyableMove type
2022-06-05 19:58:47 +02:00
Amos Bird
a5afb73c52
Remove duplicated peak mem log
...
Also log "Processed in {} sec" a little bit earlier so that it's also
sent to client and have the log entry related to the query_id.
2022-06-05 17:02:58 +08:00
HeenaBansal2009
b7eb6bbd38
Fixed clang-tidy-CheckTriviallyCopyableMove-errors
2022-05-30 11:09:03 -07:00
Alexander Tokmakov
3f44f34fe1
review suggestions
2022-05-23 21:55:17 +02:00
Alexander Tokmakov
d0f998fb88
Merge branch 'master' into fix_trash
2022-05-23 21:25:56 +02:00
taiyang-li
f13dcad58c
Merge branch 'master' into fix_settings
2022-05-23 17:36:45 +08:00
Alexander Tokmakov
c48410b574
fix trash in my code
2022-05-21 02:05:02 +02:00
Anton Popov
cb0e6c2718
mark all operators bool() as explicit
2022-05-20 15:29:54 +00:00
Alexander Tokmakov
e9568d8cbb
fixes
2022-05-19 00:00:05 +02:00
Alexander Tokmakov
3bc39f9929
fixes
2022-05-18 21:57:20 +02:00
Alexander Tokmakov
9772924d06
Merge branch 'master' into fix_trash
2022-05-18 17:27:54 +02:00
Alexander Tokmakov
19afeda4b1
fix style
2022-05-18 14:23:52 +02:00
Alexander Tokmakov
538b5cd536
fix more trash
2022-05-18 14:06:52 +02:00
Alexander Tokmakov
5590adeffa
fix more trash
2022-05-17 23:04:24 +02:00
Alexander Tokmakov
dea39d8175
fix some trash
2022-05-17 18:22:52 +02:00
taiyang-li
9f3dadf17c
Merge branch 'master' into fix_settings
2022-05-17 16:19:29 +08:00
Robert Schulze
e3cfec5b09
Merge remote-tracking branch 'origin/master' into clangtidies
2022-05-16 10:12:50 +02:00
kssenii
0feda67ec4
Fix progress for insert select
2022-05-10 15:04:08 +02:00
taiyang-li
fd878f7e7b
change as requested
2022-05-10 12:06:50 +08:00
Robert Schulze
1b81bb49b4
Enable clang-tidy modernize-deprecated-headers & hicpp-deprecated-headers
...
Official docs:
Some headers from C library were deprecated in C++ and are no longer
welcome in C++ codebases. Some have no effect in C++. For more details
refer to the C++ 14 Standard [depr.c.headers] section. This check
replaces C standard library headers with their C++ alternatives and
removes redundant ones.
2022-05-09 08:23:33 +02:00
Kruglov Pavel
8d647eff06
Merge pull request #36749 from Avogar/fix-timeouts
...
Fix bug in receive timeouts in Hedged requests
2022-05-02 13:16:03 +02:00
Azat Khuzhin
d82f2ff162
Set is_all_data_sent on exceptions too
...
This will avoid clickhouse-test complains about left queries after the
test, like in [1].
[1]: https://s3.amazonaws.com/clickhouse-test-reports/36258/9646487c093a75dc31e3e818417cfad83580b40f/stateful_tests__memory__actions_.html
Follow-up for: #36649
2022-04-30 13:00:44 +03:00
Amos Bird
4a5e4274f0
base should not depend on Common
2022-04-29 10:26:35 +08:00
mergify[bot]
d96c9c5cff
Merge branch 'master' into fix-timeouts
2022-04-28 15:03:19 +00:00
avogar
81f85892eb
Fix bug in receive timeouts in Hedged requests
2022-04-28 13:10:27 +00:00
Azat Khuzhin
6339a48923
Add is_all_data_sent into system.processes
...
v2: fix SHOW PROCESSLIST (does not have process list entry)
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-04-26 12:15:00 +03:00
Anton Popov
3e361c9759
Merge remote-tracking branch 'upstream/master' into HEAD
2022-04-19 14:18:04 +00:00
Alexey Milovidov
242919eddd
Remove abbreviation
2022-04-18 01:02:49 +02:00
Anton Popov
2de6668b3f
show names of erroneous files
2022-04-16 00:10:47 +00:00
Azat Khuzhin
097e2f626d
Do not overlap profile events snapshots for queries
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-04-12 20:54:56 +03:00
Antonio Andelic
e15fccd31b
Add is_secure info to HTTP
2022-03-30 06:39:40 +00:00
Antonio Andelic
d14ad227b1
Polish TCP is_secure flag
2022-03-30 06:39:40 +00:00
taiyang-li
1b9987ceb1
fix mistake in check-style
2022-03-05 14:22:56 +08:00
taiyang-li
f83132bad2
finish dev
2022-03-01 15:54:23 +08:00
taiyang-li
e6b29167da
fix style
2022-02-15 20:26:53 +08:00
taiyang-li
b4440131d0
add metrics for clickhouse-local
2022-02-15 16:25:07 +08:00
Dmitry Novik
d405523598
Fix ProfileEvents sending in INSERT SELECT
2022-02-10 13:27:27 +00:00
Azat Khuzhin
5472aef084
Fix current_user/current_address for interserver mode
...
Before this patch current_user/current_address will be preserved from
the previous query.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-02-02 17:44:19 +03:00
Azat Khuzhin
bedf208cbd
Use fmt::runtime() for LOG_* for non constexpr
...
Here is oneliner:
$ gg 'LOG_\(DEBUG\|TRACE\|INFO\|TEST\|WARNING\|ERROR\|FATAL\)([^,]*, [a-zA-Z]' -- :*.cpp :*.h | cut -d: -f1 | sort -u | xargs -r sed -E -i 's#(LOG_[A-Z]*)\(([^,]*), ([A-Za-z][^,)]*)#\1(\2, fmt::runtime(\3)#'
Note, that I tried to do this with coccinelle (tool for semantic
patchin), but it cannot parse C++:
$ cat fmt.cocci
@@
expression log;
expression var;
@@
-LOG_DEBUG(log, var)
+LOG_DEBUG(log, fmt::runtime(var))
I've also tried to use some macros/templates magic to do this implicitly
in logger_useful.h, but I failed to do so, and apparently it is not
possible for now.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
v2: manual fixes
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-02-01 14:30:03 +03:00
Azat Khuzhin
e8c7e5e8f0
Fix typo in sendMergeTreeReadTaskRequestAssumeLocked()
2022-01-07 20:04:57 +03:00
Vitaly Baranov
f80a3e3247
Merge pull request #30549 from aiven/kmichel-server-reload
...
Start/stop servers when `listen_host`/`*_port` changes
2021-12-27 14:51:00 +03:00
Kevin Michel
ffc1fca296
Start/stop servers when listen_host/*_port changes
...
This allows starting and stopping separately each protocol server
without restarting ClickHouse.
This also allows adding or removing `listen_host` entries, which
start and stops servers for all enabled ports.
When stopping a server, the listening socket is immediately closed
(and available for another server).
Protocols with persistent connections try to wait for any currently
running query to finish before closing the connection, but idle
connection are closed quickly (depending on how often the protocol
is polled).
An extra ProfileEvent is added, `MainConfigLoads`, it is
incremented every time the configuration is reloaded. This helps
when trying to assess whether the new configuration was applied.
2021-12-24 08:26:02 +01:00
Azat Khuzhin
6aebc3e94c
Do not loose ProfileEvents in case of thread destroyed before
...
v2: drop std::move and add copy ctor for ProfileEvents::Counter::Snapshot
v2: remove std::move
2021-12-19 23:43:05 +03:00
Alexey Milovidov
2c68192bb6
Fix strange code in TCPHandler
2021-12-12 05:35:33 +03:00
Nikita Mikhaylov
dbf5091016
Parallel reading from replicas ( #29279 )
2021-12-09 13:39:28 +03:00
alexey-milovidov
96ec92c7cd
Merge pull request #31155 from ClickHouse/incremental-profile-events
...
Send incremental profile events to client
2021-12-01 04:04:41 +03:00
Azat Khuzhin
dd7f780978
Fix Progress for short INSERT SELECT queries
...
Note, that we cannot send Progress for regular INSERT (w/ VALUES) w/o
breaking protocol compatibility, but it can be done by increasing
revision.
2021-11-20 16:41:35 +03:00
Azat Khuzhin
0b4d855c08
Reduce copy-paste in TCPHandler::processInsertQuery()
2021-11-20 16:41:35 +03:00
Dmitry Novik
0cd858263f
Update protocol version
2021-11-08 16:43:34 +03:00
Dmitry Novik
a093395b9b
Process incremental profile events on client
2021-11-08 16:38:31 +03:00
Dmitry Novik
8708e00b3a
Send incremental profile events to client
2021-11-08 12:40:31 +03:00
Alexey Milovidov
993f3faefd
Miscellaneous
2021-10-31 18:11:46 +03:00
Alexey Milovidov
8b4a6a2416
Remove cruft
2021-10-28 02:10:39 +03:00
mergify[bot]
69667aab1a
Merge branch 'master' into fix-backward-compatibility-after-21196
2021-10-19 10:11:16 +00:00
Azat Khuzhin
f7b76373ce
Move ProfileEvents packet type from TCPHandler into ProfileEventsExt
2021-10-19 00:54:38 +03:00
Nikolai Kochetov
067eaadadd
Merge branch 'master' into removing-data-streams-folder
2021-10-16 09:46:05 +03:00
Nikolai Kochetov
fd14faeae2
Remove DataStreams folder.
2021-10-15 23:18:20 +03:00
Nikolai Kochetov
06d9fc602e
Merge branch 'master' into fix-backward-compatibility-after-21196
2021-10-12 14:41:23 +03:00
Dmitry Novik
8be70bc417
Update profile event forwarding
2021-10-12 14:15:07 +03:00
Dmitry Novik
bfdd34c13d
code cleanup
2021-10-11 17:39:24 +03:00
Dmitry Novik
3a0764634e
Update InternalProfileEventsQueue usage
2021-10-11 17:39:24 +03:00
Dmitry Novik
0bdabf46f2
Send ProfileEvents only to supported clients
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
1d2e2d7305
cleanup
2021-10-11 17:39:24 +03:00
Dmitry Novik
7e3caf96be
Fix cores approximation
2021-10-11 17:39:24 +03:00
Dmitry Novik
9071a7151e
Fix communication & race conditions
2021-10-11 17:39:23 +03:00
Dmitry Novik
356723427d
WIP on ProfileEvents forwarding
2021-10-11 17:39:23 +03:00
Dmitry Novik
803b8623c1
Fix TCPHandler::sendProfileEvents
2021-10-11 17:29:50 +03:00
Dmitry Novik
e9b1e05461
Send profile events from all threads of current group
2021-10-11 17:29:50 +03:00
Dmitry Novik
362bcb2f66
Introduce ProfileEvents packet
2021-10-11 17:29:50 +03:00
Nikolai Kochetov
c6bce1a4cf
Update Native.
2021-10-08 20:21:19 +03:00
Nikolai Kochetov
78e1db209f
Remove more data streams ( #29491 )
...
* Remove more streams.
* Fixing build.
* Fixing build.
* Rename files.
* Fix fast test.
* Fix StorageKafka.
* Try fix kafka test.
* Move createBuffer to KafkaSource ctor.
* Revert "Move createBuffer to KafkaSource ctor."
This reverts commit 81fa94d27e
.
* Revert "Try fix kafka test."
This reverts commit 2107e54969
.
* Comment some rows in test.
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-10-07 11:26:08 +03:00
Azat Khuzhin
4f5118b85f
Fix data-race between fatal error handler and progress packets
...
This is not that important, but because of packets overlaps the client
may not render the fatal error.
You will find TSan report in `details`.
<details>
```
WARNING: ThreadSanitizer: data race (pid=13384)
Write of size 8 at 0x7b24000ad818 by thread T47:
0 DB::WriteBuffer::next() obj-x86_64-linux-gnu/../src/IO/WriteBuffer.h:43:15 (clickhouse-tsan+0x16124d61)
1 DB::TCPHandler::sendProgress() obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:1602:10 (clickhouse-tsan+0x16124d61)
2 DB::TCPHandler::runImpl()::$_6::operator()() const obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:318:25 (clickhouse-tsan+0x1612cf54)
Previous write of size 8 at 0x7b24000ad818 by thread T229:
0 DB::WriteBuffer::next() obj-x86_64-linux-gnu/../src/IO/WriteBuffer.h:43:15 (clickhouse-tsan+0x1612b793)
1 DB::TCPHandler::sendLogData(DB::Block const&) obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:1561:10 (clickhouse-tsan+0x1612b793)
2 DB::TCPHandler::sendLogs() obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:1632:9 (clickhouse-tsan+0x161228ab)
3 DB::TCPHandler::runImpl()::$_1::operator()() const obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:229:62 (clickhouse-tsan+0x1612c4e1)
```
</details>
2021-10-05 21:21:32 +03:00
Nikolai Kochetov
e2d07fbdf5
Merge branch 'master' into fix-backward-compatibility-after-21196
2021-10-04 17:35:32 +03:00
Nikolai Kochetov
6169b180cb
Fix backward compatibility after #21196 .
2021-10-04 17:27:44 +03:00
Alexey Milovidov
fe6b7c77c7
Rename "common" to "base"
2021-10-02 10:13:14 +03:00
Azat Khuzhin
e8a90b8ff2
Do not allow to reuse previous credentials in case of inter-server secret
...
Before this patch INSERT via Buffer/Kafka may re-use previously set user
for that connection, while this is not correct, it should reset the
user, and use global context.
Note, before [1] there was a fallback to default user, but that code had
been removed, and now it got back.
[1]: 0159c74f21
("Secure inter-cluster query execution (with initial_user as current query user) [v3]")
Also note, that context for Buffer table (and others) cannot be changed,
since they don't have any user only profile.
I've tested this patch manually using the following:
create table dist (key Int) engine=Distributed(test_cluster_two_shards_secure, default, data, key);
create table buffer (key Int) engine=Buffer(default, dist, 1, 0, 0, 0, 0, 0, 0);
create table data (key Int) engine=Memory();
# to start the connection with readonly user
$ clickhouse-client --user readonly -q 'select * from dist'
$ clickhouse-client -q 'insert into buffer values (1)'
# before this patch this produces errors like:
# 2021.09.27 23:46:48.384920 [ 19474 ] {} <Error> default.dist.DirectoryMonitor: Code: 164. DB::Exception: Received from 127.0.0.2:9000. DB::Exception: readonly: Cannot execute query in readonly mode. Stack trace:
v2: reset the authentication instead of using default user (as suggested by @vitlibar)
v3: reset Session::user and introduce ClientInfo::resetAuthentication (as suggested by @vitlibar)
v4: reset the session every time in interserver mode (suggested by @vitlibar)
2021-10-01 01:13:15 +03:00
Nikolai Kochetov
78a7665f43
Merge branch 'master' into rewrite-pushing-to-views
2021-09-27 10:56:50 +03:00
Azat Khuzhin
b3d1bfc67a
Send UNKNOWN_DATABASE to the client (via TCP)
...
Before this patch:
$ clickhouse-client --database foo -q 'select 1'
Code: 32. DB::Exception: Attempt to read after eof: while receiving packet from localhost:9000. (ATTEMPT_TO_READ_AFTER_EOF)
After:
$ clickhouse-client --database foo -q 'select 1'
Received exception from server (version 21.11.1):
Code: 81. DB::Exception: Received from localhost:9000. DB::Exception: Database foo doesn't exist. (UNKNOWN_DATABASE)
(query: select 1)
Fixes : #26864 (cc @vitlibar)
2021-09-26 23:45:29 +03:00
Nikolai Kochetov
eed4e8c754
Fix progress for insert select.
2021-09-22 16:29:58 +03:00
Nikolai Kochetov
81bf13a247
Refactor pushing to views.
2021-09-22 13:57:00 +03:00
Nikolai Kochetov
db6f1e198c
Add cancell callback to completed executor.
2021-09-21 19:37:32 +03:00
Nikolai Kochetov
a8c3b02598
Merge branch 'master' into rewrite-pushing-to-views
2021-09-17 15:38:11 +03:00
Nikolai Kochetov
58bb5fe462
Fix some tests.
2021-09-17 14:40:03 +03:00
Nikolai Kochetov
341553febd
Fix build.
2021-09-16 20:40:42 +03:00
Nikolai Kochetov
e616732743
Small refactoring.
2021-09-15 22:35:48 +03:00
Nikolai Kochetov
3a9d88fbc9
Fix more tests.
2021-09-10 17:52:24 +03:00
Nikolai Kochetov
f569a3e3f7
Merge branch 'master' into rewrite-pushing-to-views
2021-09-09 20:30:23 +03:00
Nikolai Kochetov
66a76ab70f
Rewrite PushingToViewsBlockOutputStream part 6
2021-09-03 20:29:36 +03:00
Nikolai Kochetov
358babc31b
Rewrite PushingToViewsBlockOutputStream part 5.
2021-09-02 14:29:20 +03:00
Anton Popov
6d3274c22c
Merge remote-tracking branch 'upstream/master' into HEAD
2021-08-26 03:31:46 +03:00
Vitaly Baranov
64f69462c6
Merge pull request #27921 from vitlibar/add-tests-for-field-init
...
Allow implicit cast bool to Field
2021-08-24 17:15:44 +03:00
Nikita Mikhaylov
fb6462d70a
Merge pull request #27886 from vitlibar/add-separate-constants-for-interfaces
...
Add separate constants for interfaces LOCAL and TCP_INTERSERVER.
2021-08-23 16:25:01 +03:00
Vitaly Baranov
ff1fad8521
Use setSetting() with implicit conversion true/false -> Field.
2021-08-23 08:57:00 +03:00
Alexey Milovidov
c3c31e2895
Move function to appropriate place to make code more readable
2021-08-20 12:56:39 +03:00
Vitaly Baranov
3ab1177d7e
Add separate constants for interface LOCAL and TCP_INTERSERVER.
2021-08-19 23:04:36 +03:00
Vitaly Baranov
fabd7193bd
Code cleanups and improvements.
2021-08-18 14:24:52 +03:00
Vasily Nemkov
51ffc33457
Introduce sessions.
...
This is required to add system.session_log table.
2021-08-18 14:24:52 +03:00
Braulio Valdivielso
a833d1cf9e
fixup! change http error response
2021-08-07 19:57:19 +01:00
Braulio Valdivielso
6189757fed
change http error response
...
As reported in #27171 , the logic that generates the HTTP error
response didn't work in case the configuration hadn't specified a
`http_port`. The new logic checks whether the `http_port` was set in
the first place.
2021-08-06 23:32:37 +01:00
Anton Popov
3a0d4807a5
Merge branch 'async-insert' of git://github.com/abyss7/ClickHouse into merging-20557
2021-08-06 16:20:02 +03:00
Nikolai Kochetov
9c92f43359
Update storages.
2021-07-23 22:33:59 +03:00
Amos Bird
dbfb699690
Asynchronously drain connections.
2021-07-19 21:53:29 +08:00
Vladimir
f120bd3d09
Directly pass getExceptionMessage() to LOG_ERROR in TCPHandler.cpp
2021-07-10 13:30:38 +03:00
Alexey Milovidov
1f91c65aca
Add error id to exceptions
2021-07-10 05:43:53 +03:00
Ivan Lezhankin
37439a8af6
Fix typos
2021-06-29 01:51:01 +03:00
Ivan Lezhankin
09b3db38f0
Don't create input stream for native data
2021-06-28 23:43:37 +03:00
Ivan Lezhankin
37365589ed
Merge branch 'master' into async-insert
2021-06-17 16:57:45 +03:00
Maksim Kita
67e9b85951
Merge ext into common
2021-06-16 23:28:41 +03:00
Amos Bird
7d9a1106b8
Add initial_query_start_time to query log
2021-06-11 22:24:53 +08:00
Ivan Lezhankin
973cea73b7
Merge branch 'master' into async-insert
2021-06-08 15:10:30 +03:00
Ivan Lezhankin
84c23dc060
Merge branch 'master' into async-insert
2021-06-02 18:06:21 +03:00
Alexey Milovidov
273226de32
Remove string parameter for Density
2021-05-24 06:43:25 +03:00
Alexey Milovidov
40d4f0678f
Remove overload (harmful)
2021-05-23 04:25:06 +03:00
alexey-milovidov
1ed30f7246
Merge branch 'master' into issue-16775
2021-05-22 17:14:23 +03:00
Alexey Milovidov
ad88819ee4
Fix a bunch of warnings from PVS-Studio
2021-05-08 19:13:10 +03:00
fibersel
cb53bbb7b0
add experimental codecs flag, add integration test for experimental codecs
2021-05-06 14:57:22 +03:00
Maksim Kita
0d0a14a925
Poco::Timespan reference fix
2021-04-29 19:11:20 +03:00
Azat Khuzhin
18575c4433
Avoid flushing of BlockOutputStream from destructor
...
That may lead to uncaught exception [1].
[1]: https://github.com/ClickHouse/ClickHouse/pull/21624#issuecomment-808066747
v0: New method BlockOutputStream::finalize() -- bad (forgot some places
and superfluous)
v2: Flush BlockOutputStream in QueryStatus::releaseQueryStreams()
Safer query termination (report some uncaugh errors to user)
v3: Flush BlockOutputStream from TCPHandler only
Other places uses different executeQuery() implementation
v4: Do not call writeSuffix() twice
2021-04-25 12:49:44 +03:00
Nikolai Kochetov
44112587d4
Merge pull request #23309 from ClickHouse/try-fix-crash-with-unknown-packet
...
Fix crash in case of unknown packet
2021-04-21 08:47:17 +03:00
Ivan
10c5ba3022
Merge branch 'master' into async-insert
2021-04-20 17:58:15 +03:00
Nikita Mikhaylov
08839bc203
Merge pull request #23197 from nikitamikhaylov/read-task-response
...
Fix logical error in stress tests
2021-04-20 16:09:25 +03:00
alexey-milovidov
c87f846816
Merge pull request #21938 from azat/connection-settings
...
Apply idle_connnection_timeout/poll_interval after each query
2021-04-19 22:58:21 +03:00
Nikolai Kochetov
394cca2434
Fix build.
2021-04-19 21:36:45 +03:00
Nikolai Kochetov
f6bdd35943
Try fix tests.
2021-04-19 20:55:18 +03:00
Nikolai Kochetov
0c23d44b99
Add test.
2021-04-19 17:12:08 +03:00
Nikita Mikhaylov
648b941922
done
2021-04-19 13:37:02 +00:00
Ivan Lezhankin
9e5d274467
Merge remote-tracking branch 'upstream/master' into async-insert
2021-04-14 20:16:05 +03:00
Nikita Mikhaylov
024374a2ec
review fixes
2021-04-13 22:39:43 +03:00
Nikita Mikhaylov
09a62e713a
rename to s3Cluster
2021-04-13 22:39:43 +03:00
Nikita Mikhaylov
507cb8514a
review fixes
2021-04-13 22:39:43 +03:00
Nikita Mikhaylov
7a68820342
style
2021-04-13 22:39:42 +03:00
Nikita Mikhaylov
704fb04941
better
2021-04-13 22:39:42 +03:00
Nikita Mikhaylov
c333c3dedb
review fixes
2021-04-13 22:39:42 +03:00
Nikita Mikhaylov
36a8419f60
style
2021-04-13 22:39:42 +03:00
Nikita Mikhaylov
587fbdd10d
better
2021-04-13 22:39:42 +03:00
Nikita Mikhaylov
4843f86329
use only one connection between initiator and worker
2021-04-13 22:39:42 +03:00
Nikita Mikhaylov
ebf1e2fa9c
fix build
2021-04-13 22:39:42 +03:00
Nikita Mikhaylov
b3094412b1
better
2021-04-13 22:39:42 +03:00
Nikita Mikhaylov
c1d1313dd8
remote prints
2021-04-13 22:39:42 +03:00
Nikita Mikhaylov
851644d8bf
fix test
2021-04-13 22:39:42 +03:00
Nikita Mikhaylov
cef9e19eb2
better
2021-04-13 22:39:41 +03:00
Nikita Mikhaylov
2549468c14
better
2021-04-13 22:39:41 +03:00
Nikita Mikhaylov
64b4cd0e63
save
2021-04-13 22:39:41 +03:00
Nikita Mikhaylov
31b4f9b17f
save
2021-04-13 22:39:41 +03:00
Nikita Mikhaylov
44ca65a9a4
save
2021-04-13 22:39:41 +03:00
Azat Khuzhin
260a77118f
Apply idle_connnection_timeout/poll_interval after each query
...
Since right now it is impossible to change those settings, only via
user profile.
2021-04-12 10:39:28 +03:00
Ivan
495c6e03aa
Replace all Context references with std::weak_ptr ( #22297 )
...
* Replace all Context references with std::weak_ptr
* Fix shared context captured by value
* Fix build
* Fix Context with named sessions
* Fix copy context
* Fix gcc build
* Merge with master and fix build
* Fix gcc-9 build
2021-04-11 02:33:54 +03:00
Nicolae Vartolomei
49abdeb967
Try flush write buffer only if it is initialized
...
Fixes #22579
2021-04-04 12:59:51 +03:00
Alexey Milovidov
9d65d83c83
Better exception message in client in case of exception while writing blocks
2021-04-01 07:12:07 +03:00
Ivan Lezhankin
de05803177
Merge branch 'master' into async-insert
2021-03-29 20:59:02 +03:00
Pavel Kruglov
6278a7efac
Fix build
2021-03-23 00:21:52 +03:00
Pavel Kruglov
dbc5018000
Update tests for hedged requests
2021-03-22 22:18:06 +03:00
Ivan Lezhankin
74214865eb
Merge remote-tracking branch 'upstream/master' into async-insert
2021-03-04 14:14:28 +03:00
Pavel Kruglov
4166ae1f45
Restart timeout when we make progress
2021-03-02 15:40:24 +03:00
Ivan Lezhankin
c9dc07fddd
Another fix
2021-02-26 20:37:34 +03:00
Kruglov Pavel
815b4ff0d9
Merge branch 'master' into hedged-requests
2021-02-21 17:10:24 +03:00
Amos Bird
f37631830f
Comments
2021-02-20 16:45:25 +08:00
Amos Bird
fc185e5fb7
Another try
2021-02-19 11:56:24 +08:00
Amos Bird
2c4bc43014
Backward compatible
2021-02-18 20:20:29 +08:00
Pavel Kruglov
1b78de2142
Use fibers in HedgedRequests
2021-02-17 20:34:52 +03:00
Kruglov Pavel
598576ce70
Merge branch 'master' into hedged-requests
2021-02-15 16:51:45 +03:00
alexey-milovidov
dc3ffd3fe2
Merge pull request #19451 from azat/safe-writes
...
Do not silently ignore write errors
2021-02-11 21:19:11 +03:00
Alexey Milovidov
dbb41ce4e2
Remove debug output
2021-02-11 02:55:52 +03:00
Alexey Milovidov
f442b30f30
Fix test
2021-02-11 01:23:27 +03:00
Alexey Milovidov
30b2554fa3
Fix error
2021-02-10 20:48:39 +03:00
Alexey Milovidov
869bca74a7
Fix some tests
2021-02-07 23:37:55 +03:00
Pavel Kruglov
f946aab759
Merge branch 'master' of github.com:ClickHouse/ClickHouse into hedged-requests
2021-02-06 17:38:56 +03:00
alesapin
449e8e3fd9
More checks for setting
2021-02-05 13:15:02 +03:00
Azat Khuzhin
64c0bf9829
TCPHandler: catch exceptions from the WriteBuffer in destructor
...
For TCPHandler it is safe thing todo.
Otherwise *San will report [1]:
2021.01.24 15:33:40.103996 [ 270 ] {} <Trace> BaseDaemon: Received signal -1
2021.01.24 15:33:40.110693 [ 270 ] {} <Fatal> BaseDaemon: (version 21.2.1.5789, build id: FF421B087D1E2EAA19FA17B5AB3AE413832744E0) (from thread 48318) Terminate called for uncaught exception:
2021.01.24 15:33:40.114845 [ 270 ] {} <Trace> BaseDaemon: Received signal 6
2021.01.24 15:33:40.138738 [ 218027 ] {} <Fatal> BaseDaemon: ########################################
2021.01.24 15:33:40.138838 [ 218027 ] {} <Fatal> BaseDaemon: (version 21.2.1.5789, build id: FF421B087D1E2EAA19FA17B5AB3AE413832744E0) (from thread 48318) (no query) Received signal Aborted (6)
2021.01.24 15:33:40.138912 [ 218027 ] {} <Fatal> BaseDaemon:
2021.01.24 15:33:40.139277 [ 218027 ] {} <Fatal> BaseDaemon: Stack trace: 0x7f185474118b 0x7f1854720859 0xaddc0cc 0x2af9fab8 0x2af9fa04 0xa91758b 0x1e418bb5 0x20725b4f 0x20725d9e 0x266b47a3 0x269772f5 0x26971847 0x7f18548f6609 0x7f185481d293
2021.01.24 15:33:40.139637 [ 218027 ] {} <Fatal> BaseDaemon: 3. raise @ 0x4618b in /usr/lib/x86_64-linux-gnu/libc-2.31.so
2021.01.24 15:33:40.140113 [ 218027 ] {} <Fatal> BaseDaemon: 4. abort @ 0x25859 in /usr/lib/x86_64-linux-gnu/libc-2.31.so
2021.01.24 15:33:40.144121 [ 218027 ] {} <Fatal> BaseDaemon: 5. ./obj-x86_64-linux-gnu/../base/daemon/BaseDaemon.cpp:0: terminate_handler() @ 0xaddc0cc in /usr/bin/clickhouse
2021.01.24 15:33:40.151208 [ 218027 ] {} <Fatal> BaseDaemon: 6. ./obj-x86_64-linux-gnu/../contrib/libcxxabi/src/cxa_handlers.cpp:61: std::__terminate(void (*)()) @ 0x2af9fab8 in /usr/bin/clickhouse
2021.01.24 15:33:40.153085 [ 218027 ] {} <Fatal> BaseDaemon: 7. ./obj-x86_64-linux-gnu/../contrib/libcxxabi/src/cxa_handlers.cpp:0: std::terminate() @ 0x2af9fa04 in /usr/bin/clickhouse
2021.01.24 15:33:40.155209 [ 218027 ] {} <Fatal> BaseDaemon: 8. ? @ 0xa91758b in /usr/bin/clickhouse
2021.01.24 15:33:40.156621 [ 218027 ] {} <Fatal> BaseDaemon: 9. ./obj-x86_64-linux-gnu/../src/IO/WriteBufferFromPocoSocket.cpp:0: DB::WriteBufferFromPocoSocket::~WriteBufferFromPocoSocket() @ 0x1e418bb5 in /usr/bin/clickhouse
2021.01.24 15:33:40.161041 [ 218027 ] {} <Fatal> BaseDaemon: 10. ./obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:2518: DB::TCPHandler::~TCPHandler() @ 0x20725b4f in /usr/bin/clickhouse
2021.01.24 15:33:40.164557 [ 218027 ] {} <Fatal> BaseDaemon: 11. ./obj-x86_64-linux-gnu/../src/Server/TCPHandler.h:101: DB::TCPHandler::~TCPHandler() @ 0x20725d9e in /usr/bin/clickhouse
2021.01.24 15:33:40.165921 [ 218027 ] {} <Fatal> BaseDaemon: 12. ./obj-x86_64-linux-gnu/../contrib/poco/Foundation/include/Poco/AtomicCounter.h:314: Poco::Net::TCPServerDispatcher::run() @ 0x266b47a3 in /usr/bin/clickhouse
2021.01.24 15:33:40.167347 [ 218027 ] {} <Fatal> BaseDaemon: 13. ./obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/ThreadPool.cpp:0: Poco::PooledThread::run() @ 0x269772f5 in /usr/bin/clickhouse
2021.01.24 15:33:40.169401 [ 218027 ] {} <Fatal> BaseDaemon: 14. ./obj-x86_64-linux-gnu/../contrib/poco/Foundation/src/Thread_POSIX.cpp:0: Poco::ThreadImpl::runnableEntry(void*) @ 0x26971847 in /usr/bin/clickhouse
2021.01.24 15:33:40.169498 [ 218027 ] {} <Fatal> BaseDaemon: 15. start_thread @ 0x9609 in /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
2021.01.24 15:33:40.169566 [ 218027 ] {} <Fatal> BaseDaemon: 16. __clone @ 0x122293 in /usr/lib/x86_64-linux-gnu/libc-2.31.so
2021.01.24 15:33:41.027601 [ 218027 ] {} <Fatal> BaseDaemon: Calculated checksum of the binary: 63D7491B39260494BA0D785E1860B427. There is no information about the reference checksum.
[1]: https://clickhouse-test-reports.s3.yandex.net/19451/1e16bd6f337985a82fbdf4eded695dc6e663af58/stress_test_(address).html#fail1
v2: Fix catching errors in WriteBufferFromPocoSocket destructor
2021-02-05 01:32:36 +03:00
Azat Khuzhin
4beb5c1b8a
TCPHandler: Move constructor into the module and add missing headers
2021-02-05 01:31:42 +03:00
Aleksei Semiglazov
921518db0a
CLICKHOUSE-606: query deduplication based on parts' UUID
...
* add the query data deduplication excluding duplicated parts in MergeTree family engines.
query deduplication is based on parts' UUID which should be enabled first with merge_tree setting
assign_part_uuids=1
allow_experimental_query_deduplication setting is to enable part deduplication, default ot false.
data part UUID is a mechanism of giving a data part a unique identifier.
Having UUID and deduplication mechanism provides a potential of moving parts
between shards preserving data consistency on a read path:
duplicated UUIDs will cause root executor to retry query against on of the replica explicitly
asking to exclude encountered duplicated fingerprints during a distributed query execution.
NOTE: this implementation don't provide any knobs to lock part and hence its UUID. Any mutations/merge will
update part's UUID.
* add _part_uuid virtual column, allowing to use UUIDs in predicates.
Signed-off-by: Aleksei Semiglazov <asemiglazov@cloudflare.com>
address comments
2021-02-02 16:53:39 +00:00
Pavel Kruglov
97b5179e55
Implement HedgedRequests
2021-01-19 22:41:05 +03:00
Alexey Milovidov
438f0f971b
Fix the issue with async Distributed INSERTs and network_compression_method #18741
2021-01-06 03:24:42 +03:00
filimonov
8d9ad60afa
Decrease verbosity of disconnecting clients
...
Right now they go to error log.
2020-12-11 11:51:48 +01:00
Alexey Milovidov
3e2447391b
Support for PROXY protocol
2020-12-03 00:05:51 +03:00
Alexander Kuzmenkov
6cb378e072
cleanup
2020-11-19 18:52:11 +03:00
Alexander Kuzmenkov
b16c5a1748
Merge remote-tracking branch 'origin/master' into HEAD
2020-11-17 22:54:54 +03:00
Alexander Tokmakov
b94cc5c4e5
remove more stringstreams
2020-11-10 21:22:26 +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
Alexey Milovidov
fd84d16387
Fix "server failed to start" error
2020-11-07 03:14:53 +03:00
Alexander Kuzmenkov
5a70e26c70
Merge remote-tracking branch 'origin/master' into HEAD
2020-10-26 19:21:13 +03:00
Alexey Milovidov
74558a4e27
Better diagnostics when client has dropped connection
2020-10-24 06:41:47 +03:00
Alexander Kuzmenkov
41ac15a71c
fix initial query id
2020-10-20 00:26:10 +03:00
Alexander Kuzmenkov
6200433e12
Merge origin/master into tmp (using imerge)
2020-10-12 21:15:31 +03:00
Nikolai Kochetov
190fd88af9
Merge pull request #15785 from amosbird/e1
...
Code refactor.
2020-10-12 00:36:36 +03:00
Alexey Milovidov
7502fad77c
Change level of some log messages
2020-10-10 20:47:34 +03:00
Amos Bird
8e0862a0c3
BlockIO can be empty.
2020-10-10 23:25:50 +08:00
Amos Bird
dbc14655fc
Code refactoring.
2020-10-10 18:22:33 +08:00
Alexander Kuzmenkov
dde4cf70e1
Merge remote-tracking branch 'origin/master' into HEAD
2020-09-22 14:03:59 +03:00
Alexander Kuzmenkov
7b64ca33b1
Merge remote-tracking branch 'origin/master' into tmp
2020-09-22 14:02:20 +03:00
Alexander Kuzmenkov
bfc3be9e43
Merge remote-tracking branch 'origin/aku/tcp-versio' into tmp
2020-09-22 14:02:15 +03:00
Vitaly Baranov
02acedd6a3
Use initial_address for quota calculation when the interserver-secret mode enabled.
2020-09-19 01:04:25 +03:00
Alexander Kuzmenkov
fd33fa7f39
fixup
2020-09-17 17:55:41 +03:00
Alexander Kuzmenkov
fb64cf210a
straighten the protocol version
2020-09-17 17:37:29 +03:00
Alexander Kuzmenkov
a374541214
straighten the protocol version
2020-09-17 15:15:05 +03:00
Azat Khuzhin
785d1b2a75
OpenSSLHelpers cleanup
...
Add few more specializations for encodeSHA256():
- std::string encodeSHA256(const std::string_view &);
- std::string encodeSHA256(const void *, size_t);
- void encodeSHA256(const void *, size_t, unsigned char *);
2020-09-15 01:36:28 +03:00
Azat Khuzhin
0159c74f21
Secure inter-cluster query execution (with initial_user as current query user) [v3]
...
Add inter-server cluster secret, it is used for Distributed queries
inside cluster, you can configure in the configuration file:
<remote_servers>
<logs>
<shard>
<secret>foobar</secret> <!-- empty -- works as before -->
...
</shard>
</logs>
</remote_servers>
And this will allow clickhouse to make sure that the query was not
faked, and was issued from the node that knows the secret. And since
trust appeared it can use initial_user for query execution, this will
apply correct *_for_user (since with inter-server secret enabled, the
query will be executed from the same user on the shards as on initator,
unlike "default" user w/o it).
v2: Change user to the initial_user for Distributed queries if secret match
v3: Add Protocol::Cluster package
v4: Drop Protocol::Cluster and use plain Protocol::Hello + user marker
v5: Do not use user from Hello for cluster-secure (superfluous)
2020-09-15 01:36:28 +03:00
Azat Khuzhin
ec9d7745f3
Break the query loop on UNEXPECTED_PACKET_FROM_CLIENT
2020-09-15 01:36:28 +03:00
Azat Khuzhin
d53bbd3394
Not only send the exception to the client but also log it
...
Otherwise there will be only tricky "Unknown packet" exception after
exception during handling INSERT queries.
2020-09-15 01:36:28 +03:00
Alexander Kuzmenkov
c62bf555d2
Merge origin/master into tmp (using imerge)
2020-09-08 16:26:38 +03:00
Alexander Kuzmenkov
d0a9926e7d
fixes and some docs
2020-09-08 16:19:27 +03:00
alesapin
10c7a6c45e
Add ability to specify Default codec for columns ( #14049 )
...
* Add ability to specify DefaultCompression codec which correspond to settings specified in config.xml
* Fix style
* Rename DefaultCompression to simple Default
* Fix compression codec
* Better codec description representation
* Less strange code and one method
* Fix delta
2020-08-28 20:40:45 +03:00
Alexander Kuzmenkov
4612794678
opentelemetry context propagation
2020-08-28 04:21:08 +03:00
Vitaly Baranov
56665a15f7
Rework and rename the template class SettingsCollection => BaseSettings.
2020-07-31 20:54:18 +03:00
alexey-milovidov
b5e87f5b25
Revert "Abort on std::out_of_range in debug builds"
2020-07-24 18:12:03 +03:00
Azat Khuzhin
eaaa4543f4
Abort on std::out_of_range in debug builds
...
This helps notice them in tests, same as:
- std::logic_error
- LOGICAL_ERROR
2020-07-23 11:36:12 +03:00
Alexander Kuzmenkov
a4a23673cc
fixup
2020-07-17 17:25:13 +03:00
Alexander Kuzmenkov
4089f761e1
fix one out_of_range
2020-07-17 17:20:33 +03:00
Alexander Kuzmenkov
9d728d60d0
Abort on std::logic_error in debug builds
...
This helps notice them in tests, same as assert() and LOGICAL_ERROR.
2020-07-15 15:08:01 +03:00
alesapin
4185fe9975
Merge branch 'master' into atomic_metadata5
2020-06-23 11:13:05 +03:00
Alexey Milovidov
7ba25bd799
Make it work
2020-06-20 14:17:15 +03:00
alesapin
dffdece350
getColumns in StorageInMemoryMetadta (only compilable)
2020-06-17 19:39:58 +03:00
alesapin
1ddeb3d149
Buildable getSampleBlock in StorageInMemoryMetadata
2020-06-16 18:51:29 +03:00
alesapin
36ba0192df
Metadata in read and write methods of IStorage
2020-06-15 22:08:58 +03:00
Alexander Kuzmenkov
435f53e05a
Improve error messages
...
Also support fmt for exception messages, the same way we use it in
logging macros.
2020-06-04 20:50:29 +03:00
tavplubix
a4e40fb5f2
Merge pull request #11269 from ClickHouse/add_context_to_idatabase_methods
...
Add context to IDatabase methods
2020-05-29 21:15:35 +03:00
Alexey Milovidov
23d7947549
Fix constraints for DEFAULT fields; fix constraints for temporary tables; improve performance of INSERT for small blocks
2020-05-29 05:08:48 +03:00
Alexander Tokmakov
c071e0a473
add context to DatabaseCatalog methods
2020-05-29 02:01:18 +03:00
Nikolai Kochetov
2dcee3db5c
Merge branch 'master' into remove-experimental-use-processors-flag-3
2020-05-27 21:25:34 +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