Commit Graph

537 Commits

Author SHA1 Message Date
Konstantin Bogdanov
36014f739a
Rename 2024-04-30 14:52:43 +02:00
Nikita Taranov
8fd38f2abc
Merge pull request #62752 from ClickHouse/log_profile_events_send_timings
Log profile events send timings
2024-04-29 15:41:28 +00:00
kssenii
7a416f2e76 Merge remote-tracking branch 'origin/master' into use-iobject-storage-for-table-engines-1 2024-04-28 12:19:32 +02:00
Alexey Milovidov
58792a1935
Merge pull request #60302 from azat/INSERT-receive-timeout
Change back how receive_timeout is handled for INSERTs
2024-04-27 14:55:28 +00:00
Konstantin Bogdanov
822a57cb83
Fix integration tests 2024-04-26 19:56:24 +02:00
Konstantin Bogdanov
466633729f
Support user expiration 2024-04-26 17:03:40 +02:00
Alexander Gololobov
25cfd48f87
Only log if it took longer than 100 ms 2024-04-18 14:39:23 +01:00
Alexander Gololobov
01b80e754a Log profile events send timings 2024-04-18 11:37:09 +01:00
kssenii
27672e1dfc Merge remote-tracking branch 'origin/master' into use-iobject-storage-for-table-engines-1 2024-04-15 11:28:14 +01:00
Robert Schulze
9d8f643f5b
Cleanup SSH-based authentication code 2024-04-05 08:43:23 +00:00
kssenii
e0c02bf3af Merge remote-tracking branch 'origin/master' into use-iobject-storage-for-table-engines-1 2024-03-27 19:27:07 +01:00
Azat Khuzhin
b9469e2729 Do not try to INSERT into readonly replicas for Distributed engine
Sometimes replica may be readonly for a long time, and this will make
some INSERT queries fail, but it does not make sense to INSERT into
readonly replica, so let's ignore them.

But note, that this will require to extend TableStatus (not extend, but
introduce new version), that will have is_readonly field.

Also before background INSERT into Distributed does not uses
getManyChecked() which means that they do not request TableStatus
packet, while now they would, though this is minor (just a note).

v2: Add a note about max_replica_delay_for_distributed_queries for INSERT
v3: Skip read-only replicas for async INSERT into Distributed
v4: Remove extra @insert parameter for ConnectionPool*::get*
    It make sense only when the table name had passed --
    ConnectionPoolWithFailover::getManyChecked()
v5: rebase on top LoggerPtr
v6: rebase
v7: rebase
v8: move TryResult::is_readonly into the end

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2024-03-26 11:21:38 +01:00
kssenii
46941e7243 Merge remote-tracking branch 'origin/master' into use-iobject-storage-for-table-engines-1 2024-03-25 15:10:11 +01:00
Alexey Milovidov
d249d53de6 Remove DataStreams 2024-03-24 02:07:41 +01:00
Alexander Tokmakov
5d7e5e5a72 Merge branch 'master' into fix_race_async_inserts_queue 2024-03-19 19:39:25 +01:00
kssenii
bfc4f5e1d3 Merge remote-tracking branch 'origin/master' into use-iobject-storage-for-table-engines-1 2024-03-11 14:57:15 +01:00
Anton Popov
61859ee865
Merge pull request #61055 from CurtizJ/fix-async-insert-deadlock
Fix deadlock in async inserts to `Log` tables via native protocol
2024-03-08 11:36:49 +01:00
Nikita Mikhaylov
8e3fc1044f
Reject INSERT if async_insert=1 + deduplicate_blocks_in_dependent_materialized_views=1 (#60888) 2024-03-07 20:39:56 +01:00
Anton Popov
b9d6f4b3ed fix deadlock in async inserts via native protocol 2024-03-07 17:42:50 +00:00
kssenii
0c293bce11 Merge remote-tracking branch 'origin/master' into use-iobject-storage-for-table-engines-1 2024-03-06 12:06:19 +08:00
Alexey Milovidov
b0ab0b37db
Merge pull request #60434 from ClickHouse/revert-60216-revert-59697-check-stack-size-in-parser
Revert "Revert "Check stack size in Parser""
2024-02-28 19:20:49 +03:00
Alexey Milovidov
c192a448d0 Update to clang-19 2024-02-27 14:37:21 +01:00
Alexey Milovidov
0b90076a36
Revert "Revert "Check stack size in Parser"" 2024-02-27 01:34:50 +03:00
Azat Khuzhin
87fb8d187b Change back how receive_timeout is handled for INSERTs
Right now the receive_timeout for INSERT works as a timeout for
receiving data block, however this is not very convenient, since
sometimes server may not send data for quite some time (i.e. due to in
order aggregation), Ping packets is there for a reason (also Progress
and ProfileEvents as well, though the purpose is different).

Initially this special handling of receive_timeout had been added in
6a5ef9be83 ("dbms: fixed error with
hanging INSERTs [#METR-16514]"), but the behaviour was different, since
that time the receivePacket() was outside loop, only poll() was there,
and that was the workaround for poll() timeout (which does not triggers
the socket timeout).

But in fabd7193bd ("Code cleanups and
improvements"), receivePacket() had been moved into the loop, and so
this changed the behaviour of the timeout to current one.

Though all of this will not help for INSERT queries anyway, since there
are no Ping packets for them. Yet.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2024-02-22 14:26:21 +01:00
Antonio Andelic
fee1565780
Revert "Check stack size in Parser" 2024-02-21 11:33:08 +01:00
kssenii
e23b929e18 Merge remote-tracking branch 'origin/master' into use-iobject-storage-for-table-engines-1 2024-02-19 19:55:47 +01:00
Alexey Milovidov
6fd563df52 Miscellaneous 2024-02-19 02:58:51 +01:00
kssenii
1cccb3ccdf Merge remote-tracking branch 'origin/master' into use-iobject-storage-for-table-engines-1 2024-02-16 15:21:10 +01:00
Kruglov Pavel
4d6f167e0c
Merge pull request #59092 from Avogar/auto-format-detection
Try to detect file format automatically during schema inference if it's unknown
2024-02-16 14:32:18 +01:00
Julia Kartseva
b1b58ef9a3
Revert "Insert synchronously if dependent MV deduplication is enabled" 2024-02-14 12:54:42 -08:00
Kruglov Pavel
1dbfeafb42
Merge branch 'master' into auto-format-detection 2024-02-13 19:08:33 +01:00
kssenii
3cca841038 Unite s3/hdfs/azure storage implementations into a single class on top of IObjectStorage 2024-02-09 21:32:04 +01:00
Julia Kartseva
ece4febe32 Insert synchronously if dependent MV deduplication is enabled 2024-02-08 08:42:04 +00:00
Igor Nikonov
8c60c6b669 Use always host_name for profile events block 2024-02-02 14:27:09 +00:00
Igor Nikonov
4c75b4bc7c Return display name 2024-02-02 14:04:27 +00:00
Igor Nikonov
d8a6e53d0b Use FQDN as host name by default for TCP
- instead of display_name setting value
2024-01-30 20:27:30 +00:00
Kruglov Pavel
46a6b84a5a
Merge branch 'master' into auto-format-detection 2024-01-25 22:11:07 +01:00
Maksim Kita
2a327107b6 Updated implementation 2024-01-25 14:31:49 +03:00
avogar
617cc514b7 Try to detect file format automatically during schema inference if it's unknown 2024-01-23 18:59:39 +00:00
Alexander Tokmakov
4cfc8d1a34 better method name 2024-01-23 00:30:42 +01:00
Yakov Olkhovskiy
2e124b19b8
Merge branch 'master' into revert-58450-revert-56064-feature-server-iface-metrics 2024-01-10 09:05:18 -05:00
Robert Schulze
53965bb9f1
Merge remote-tracking branch 'rschu1ze/master' into qatzstd_main 2024-01-07 14:11:22 +00:00
Yakov Olkhovskiy
85f03478ef
Revert "Revert "Use CH Buffer for HTTP out stream, add metrics for interfaces"" 2024-01-03 11:47:15 -05:00
Raúl Marín
d491758939
Revert "Use CH Buffer for HTTP out stream, add metrics for interfaces" 2024-01-03 10:42:15 +01:00
Alexey Milovidov
aa462fa7cd
Merge branch 'master' into feature-server-iface-metrics 2023-12-29 22:37:52 +01:00
Azat Khuzhin
3be3b0a280 Fix incorrect Exceptions
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-12-24 21:26:32 +01:00
jinjunzh
aaf98f0ed7 refine setting with enable_zstd_qat_codec 2023-12-22 14:24:15 -05:00
Yakov Olkhovskiy
001a38048f use ProfileEvents instead of CurrentMetrics 2023-12-15 19:17:42 +00:00
Yakov Olkhovskiy
b92030b485
Merge branch 'master' into feature-server-iface-metrics 2023-11-27 15:44:25 -05:00
Antonio Andelic
c43b84c68d
Typo 2023-11-23 13:12:16 +01:00
Antonio Andelic
953a8d774a Close interserver connection on exception that happened before first authentication 2023-11-23 11:43:03 +00:00
Nikolay Degterinsky
44289c5f19
Merge pull request #56957 from evillique/resubmit-better-except
Resubmit: Better except for SSL authentication
2023-11-19 16:00:18 +01:00
Nikolay Degterinsky
6eedd1649d Resubmit: Better except for SSL authentication 2023-11-18 17:56:05 +00:00
Alexey Milovidov
3bbb329dd0 Fix tests 2023-11-16 00:13:05 +01:00
Alexey Milovidov
1ea74cee3a Early disconnect if there is authentication failure with interserver secret 2023-11-15 15:04:07 +01:00
Alexey Milovidov
82c461031e Fix build 2023-11-13 10:09:23 +01:00
kssenii
9178fd4ad1 Fix case with replicated database 2023-11-07 16:02:51 +01:00
Yakov Olkhovskiy
0cf851316c use CH Buffer for HTTP out stream, add metrics for interfaces 2023-10-27 02:38:36 +00:00
Azat Khuzhin
8556929f50 Fix mixing of send_timeout and receive_timeout
I've noticed this in one of production setups, where lots of queries are
executed with distributed_group_by_no_merge=2 (automatically vai
optimize_skip_unused_shards optimization) and
optimize_aggregation_in_order=1, with this two settings initiator may
not read from some shards (i.e. X) for quite long period of time,
because it reads from other shards (i.e. Y) and it does not need
any data from X yet (due to it read everything in order), and this will
lead to query timeout, so timeouts had been increased.

Previously both timeouts had been tuned, but this leads to connection
hungs in case of abnormal machine reboots. So it is better to tune only
send_timeout (and this should be enough, since the only problem is the
sender) and this will allow to see that the connection is broken on the
initiator once it will read from this shard.

but after changing only send_timeout, the query still timedout, and the
reason is this place, which swaps this timeouts.

It had been introduced in 134efcd, with a comment:

    NOTE: We use send_timeout for the receive timeout and vice versa (change arguments ordering in TimeoutSetter),
     because send_timeout is client-side setting which has opposite meaning on the server side.

But it sounds odd to me, it may only make sense with the
clickhouse-client, since any other driver does not implement any server
settings.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-10-26 19:36:12 +02:00
Alexey Milovidov
5217d64551 Remove garbage 2023-10-22 01:53:50 +02:00
Alexey Milovidov
7ec4b99e94 Revert partial result 2023-10-21 03:14:22 +02:00
Anton Popov
5819bcd07a
Support asynchronous inserts for native protocol (#54730)
* support async insert for native protocol

* use separate queue for async inserts via native protocol

* fix test

* better logging for async inserts and more tests

* disable mixed internal and external data in async inserts

* fix tests

* fix quota in async inserts

* disable async insert for secondary query of distributed
2023-10-20 18:39:48 +02:00
vdimir
3f3feea0b7
Add setting allow_experimental_partial_result 2023-09-28 09:40:56 +00:00
Robert Schulze
cde10fe7b5
Merge remote-tracking branch 'rschu1ze/master' into clang-tidy-reenable-checks 2023-09-26 18:59:41 +00:00
George Gamezardashvili
0ce30ab6d5
SSH keys authentication (#41109)
Added new type of authentication based on SSH keys. It works only for Native TCP protocol.

Co-authored-by: Nikita Mikhaylov <nikitamikhaylov@clickhouse.com>
Co-authored-by: Robert Schulze <robert@clickhouse.com>
2023-09-26 17:50:19 +02:00
Robert Schulze
9fff447716
Re-enable clang-tidy checks 2023-09-26 09:34:12 +00:00
Nikolai Kochetov
9b936c44db
Revert "Revert "Add settings for real-time updates during query execution"" 2023-09-09 12:29:39 +02:00
Alexey Milovidov
03a755732a
Revert "Add settings for real-time updates during query execution" 2023-09-09 03:10:23 +03:00
Nikolai Kochetov
0095124791
Merge pull request #48607 from alexX512/master
Add settings for real-time updates during query execution
2023-09-08 09:05:33 +02:00
Raúl Marín
e192d4c624
Fix summary reporting with parallel replicas with LIMIT (#53050) 2023-09-04 15:53:06 +02:00
alexX512
36b8932b37 Merge branch 'master' of github.com:ClickHouse/ClickHouse 2023-08-31 21:40:50 +00:00
Alexey Gerasimchuck
f7d1041e61 minor improvement 2023-08-30 06:14:39 +00:00
Alexey Gerasimchuck
be2f80cc1c minor corrections 2023-08-29 23:59:36 +00:00
Alexey Gerasimchuck
a1687e618b backward compatibility changes + fixes 2023-08-29 23:50:41 +00:00
alexX512
b3ba00f443 Merge branch 'master' of github.com:ClickHouse/ClickHouse 2023-08-29 10:59:29 +00:00
Alexey Gerasimchuck
e9757abea6 Added validate_tcp_client_information setting 2023-08-29 00:15:55 +00:00
Alexey Gerasimchuck
3140958132 Added client_info validation 2023-08-22 03:52:57 +00:00
Alexander Tokmakov
78d8557a56 fix 2023-08-15 15:37:09 +02:00
Alexey Milovidov
fa9abc5038 Better usage of ccache 2023-08-09 05:02:50 +02:00
alexX512
0d84226914 Merge branch 'master' of github.com:ClickHouse/ClickHouse 2023-08-02 19:18:59 +00:00
Alexey Gerasimchuck
e58b3cfd32 Implemented max sessions for user 2023-07-30 22:09:03 +00:00
alexX512
c403f56e09 Merge branch 'master' of github.com:ClickHouse/ClickHouse 2023-07-21 17:56:53 +00:00
Vitaly Baranov
815a3857de Remove non-const function Context::getClientInfo(). 2023-07-17 15:02:07 +02:00
Robert Schulze
271297823a
Allow var-int encoded 64-bit integers with MSB=1
Resolves: #51486

Until now, it was illegal to encode 64-bit (unsigned) integers with
MSB=1, i.e. values > (1ULL<<63) - 1, as var-int. In more detail, the
var-int code used by ClickHouse server and client spent at most 9 bytes
per value such that 9 * 7 = 63 bits could be encoded. Some 3rd party
clients (e.g. Rust clickhouse-rs) had the same limitation, whereas other
clients understand the full range (Python clickhouse-driver).

PRs #47608 and #48628 added sanity checks as asserts or exceptions
during var-int encoding on the server side. This was considered okay as
such huge integers so far occurred only during testing (usually fuzzing)
but not in practice.

Issue #51486 is a new fuzzing issue where the exception thrown from the
sanity check led to a half-baked progress packet and as a result, a
logical error / server crash.

The only fix which is not another bandaid is to allow the full range in
var-int coding. Clients will have to allow the full range too, a note
will be added to the changelog. (the alternative was to create another
protocol version but as var-int is used all over the place this was
considered infeasible)

Review note: this is the relevant commit.
2023-07-06 20:23:23 +00:00
Robert Schulze
43c97d76bf
Merge pull request #44149 from zvonand/zvonand-implicit-tz
Session time zones
2023-06-23 14:28:49 +02:00
Alexey Milovidov
75ef844f99
Fix long test functions_bad_arguments (#51310)
Co-authored-by: Nikita Mikhaylov <mikhaylovnikitka@gmail.com>
2023-06-23 13:51:40 +02:00
Andrey Zvonov
b4f2e4020d
Merge branch 'master' into zvonand-implicit-tz 2023-06-21 13:41:35 +02:00
Robert Schulze
1aa158909e
enable_qpl_deflate_codec --> enable_deflate_qpl_codec 2023-06-09 12:43:33 +00:00
jinjunzh
f1192d59af
refine patch according to comments 2023-06-09 12:43:15 +00:00
jinjunzh
056ca4f555
Add extensive testing cases for deflate qpl codec 2023-06-09 12:42:59 +00:00
Andrey Zvonov
d95be4162f
Merge branch 'master' into zvonand-implicit-tz 2023-06-08 18:34:45 +03:00
Antonio Andelic
b11f744252
Correctly disable async insert with deduplication when it's not needed (#50663)
* Correctly disable async insert when it's not used

* Better

* Add comment

* Better

* Fix tests

---------

Co-authored-by: Nikita Mikhaylov <mikhaylovnikitka@gmail.com>
2023-06-07 20:33:08 +02:00
zvonand
d4cec1f0e0 fix client thread attachment + make better tests 2023-05-30 01:30:01 +02:00
Andrey Zvonov
9237b904be
Merge branch 'master' into zvonand-implicit-tz 2023-05-10 01:25:33 +02:00
alexX512
f3f9e29509 Merge branch 'master' of github.com:ClickHouse/ClickHouse 2023-05-06 14:35:29 +00:00
Dmitry Novik
2536dfad3a Fix build 2023-05-05 18:21:25 +00:00
Dmitry Novik
951bef4fd2 Fixmemory counting in TCPHandler 2023-05-05 15:10:50 +00:00
zvonand
8338d54c34 Merge branch 'master' of github.com:ClickHouse/ClickHouse into zvonand-implicit-tz 2023-05-05 15:50:26 +02:00
alexX512
2cd1b37f9b Add support for connection of partial result processors with multiple ports 2023-05-02 07:26:36 +00:00
Alexey Milovidov
ded4b17d2c
Merge pull request #48989 from evillique/fix-ssl
Add fallback to password auth after failed SSL auth
2023-04-21 21:42:59 +03:00
Nikolay Degterinsky
fb3c0f05df Add test 2023-04-21 14:22:14 +00:00
Andrey Zvonov
984e8fde41
Merge branch 'master' into zvonand-implicit-tz 2023-04-20 23:13:17 +02:00
Nikolay Degterinsky
83f342e94a Fallback to password auth after failed SSL auth 2023-04-20 20:02:05 +00:00
zvonand
22be85d976 renamed setting 2023-04-18 02:42:30 +02:00
Alexander Tokmakov
cad0a5f493 fix a confusing warning about interserver mode 2023-04-14 19:46:44 +02:00
zvonand
bac5fbc3d2 fix error on connection drop after 1st query 2023-04-13 13:26:09 +02:00
zvonand
73675cd8d2 tryfix fasttest 2023-04-12 19:17:48 +02:00
zvonand
3f8956f854 remove additional logging 2023-04-12 17:45:11 +02:00
zvonand
2a9f28b73b resolve 2023-04-12 12:54:39 +02:00
zvonand
5d18343fb8 fixed delay 2023-04-12 00:15:07 +02:00
Vasily Nemkov
e36addb96a Hackish way of setting up timezone on the client
Warning: lots of debug logging
2023-04-11 13:03:03 +02:00
Alexander Tokmakov
230adac9f6 fixes 2023-04-01 18:23:59 +02:00
Robert Schulze
eb93ec35f5
Merge pull request #48154 from azat/varuint-v2
Add sanity checks for writing number in variable length format (resubmit)
2023-03-31 10:59:21 +02:00
Nikolai Kochetov
f870e6f7a9 Rename setting stop_reading_on_first_cancel to partial_result_on_first_cancel. 2023-03-30 14:00:44 +00:00
Azat Khuzhin
9457b1cc46 Use VAR_UINT_MAX for unknown_packet_in_send_data
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-03-29 11:02:33 +02:00
Sergei Trifonov
273770519b
Merge branch 'master' into master 2023-03-20 18:28:10 +01:00
Sema Checherinda
0b641fcead
Merge pull request #47564 from CheSema/remove-redundant
remove counters for threads, fix negative counters
2023-03-18 02:23:52 +01:00
Nikolay Degterinsky
7fb171f84d
Merge pull request #47596 from evillique/native-client-ssl
Add SSL User Certificate authentication to the native protocol
2023-03-17 21:27:58 +01:00
alexX512
023c0ba46e Fix comments 2023-03-17 20:05:10 +00:00
alexX512
6ea522adee Style fix 2023-03-16 14:23:17 +00:00
alexX512
cf75dd2595 Remove sleep_in_receive_cancel 2023-03-16 04:39:11 +00:00
Sema Checherinda
67ac858a52 remove counters for threads, fix negative counters 2023-03-15 22:22:22 +01:00
Andrey Zvonov
4327d707e0
Merge branch 'master' into zvonand-implicit-tz 2023-03-15 22:18:52 +01:00
alexX512
f32df219ef Merge branch 'master' of github.com:alexX512/ClickHouse 2023-03-15 19:54:24 +00:00
alexX512
1f21ac8fcf Fix fast test 2023-03-15 19:53:58 +00:00
Alexey Perevyshin
1e9ef12f51
Merge branch 'master' into master 2023-03-15 22:21:02 +04:00
zvonand
bbb31cf891 added validation on setting modification 2023-03-15 18:37:23 +01:00
alexX512
0088c18192 Fix fasttest error 2023-03-15 13:37:47 +00:00
alexX512
cbbdb5aabc Fix typos 2023-03-15 13:05:38 +00:00
alexX512
d47e10484f Merge branch 'master' of github.com:ClickHouse/ClickHouse 2023-03-15 11:14:34 +00:00
Azat Khuzhin
bcf381c5ae Reimplement interserver mode to avoid replay attacks
Prevous implementation (DBMS_MIN_REVISION_WITH_INTERSERVER_SECRET)
accepts the salt from the client, which make it useless.

Reimplement the protocol to send the salt by the server and use it in
the client instead.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-03-15 08:28:43 +01:00
alexX512
14a7c5a019 Add stop_reading_on_first_cancel setting 2023-03-15 06:06:55 +00:00
Nikolay Degterinsky
398978e0bc Fix build 2023-03-15 00:09:29 +00:00
Nikolay Degterinsky
f3908a9e84 Fix style 2023-03-14 22:49:10 +00:00
Nikolay Degterinsky
eddda2eb73 Add SSL authentication to the native protocol 2023-03-14 22:10:08 +00:00
Alexey Milovidov
a411ae10b5
Merge pull request #47486 from ClickHouse/revert_25674
Remove "asynchronous connection drain"
2023-03-13 21:40:39 +03:00
Vladimir C
9cb018545c
Merge pull request #47499 from FrankChen021/span_kind 2023-03-13 11:35:03 +01:00
Frank Chen
0bdd645049 SET SpanKind for HTTP/TCP/GRPC handler 2023-03-12 21:31:08 +08:00
Alexander Tokmakov
7b1b238d0b Revert "Merge pull request #25674 from amosbird/distributedreturnconnection"
This reverts commit 5ffd99dfd4, reversing
changes made to 2796aa333f.
2023-03-11 19:09:47 +01:00
zvonand
1ce697d8c0 Revert "revert protocol changes, found better way"
This reverts commit 3a918ae66a.
2023-03-07 16:05:23 +01:00
Kruglov Pavel
9e64441353
Merge pull request #47214 from azat/interserver-mode-address
Add real client (initiator server) address into the logs for interserver mode
2023-03-07 12:40:59 +01:00
zvonand
5e7a861e68 fix 2023-03-07 02:45:47 +01:00
zvonand
3a918ae66a revert protocol changes, found better way 2023-03-07 02:33:46 +01:00
zvonand
f2fbf2d61e tcp protocol modification (min revision to be updated) 2023-03-06 02:52:05 +01:00
Alexander Tokmakov
082194a755
Merge pull request #47175 from ClickHouse/correct_fatal_handling
More correct handling of fatal errors
2023-03-04 00:38:00 +03:00
Azat Khuzhin
5403360924 Add real client (initiator server) address into the logs for interserver mode
It is useful to understand what is going on, in some obscure cases, for
instance if someone will copy configuration from the production to some
docker env, and then you will see docker's private network addresses
in the logs.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-03-03 16:38:10 +01:00
Alexander Tokmakov
619b282060 more correct handling of fatal errors 2023-03-03 01:22:04 +01:00
Alexander Tokmakov
edd238273c fix another bug in client 2023-03-02 19:51:05 +01:00
Alexander Tokmakov
a97e15e36f Merge branch 'master' into fix_insert_cancellation_in_native_protocol 2023-03-01 14:26:41 +01:00
Alexander Tokmakov
cad1e0b768 fix 2023-02-25 01:18:34 +01:00