Azat Khuzhin
9c35e49878
Fix heap-buffer-overflow in highlighting multi-line comments
...
Not closed multi-line comment returns the whole query, so it should not
be processed further with the lexer.
ASan report:
:) /*=================================================================
==14889==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400006ebc0 at pc 0x00000a8148ea bp 0x7fffffff8610 sp 0x7fffffff7dd8
WRITE of size 16 at 0x60400006ebc0 thread T0
0 0xa8148e9 in __asan_memcpy (/src/ch/tmp/upstream/clickhouse-asan+0xa8148e9)
1 0xaa8a3a4 in DB::Client::highlight(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<replxx::Replxx::Color, std::__1::allocator<replxx::Replxx::Color> >&) obj-x86_64-linux-gnu/../programs/client/Client.cpp:464:52
2 0x25f7b6d8 in std::__1::__function::__policy_func<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<replxx::Replxx::Color, std::__1::allocator<replxx::Replxx::Color> >&)>::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<replxx::Replxx::Color, std::__1::allocator<replxx::Replxx::Color> >&) const obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2221:16
3 0x25f7b6d8 in std::__1::function<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<replxx::Replxx::Color, std::__1::allocator<replxx::Replxx::Color> >&)>::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<replxx::Replxx::Color, std::__1::allocator<replxx::Replxx::Color> >&) const obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:2560:12
4 0x25f7b6d8 in replxx::Replxx::ReplxxImpl::render(replxx::Replxx::ReplxxImpl::HINT_ACTION) obj-x86_64-linux-gnu/../contrib/replxx/src/replxx_impl.cxx:546:3
5 0x25f74059 in replxx::Replxx::ReplxxImpl::refresh_line(replxx::Replxx::ReplxxImpl::HINT_ACTION) obj-x86_64-linux-gnu/../contrib/replxx/src/replxx_impl.cxx:729:2
6 0x25f6bc8f in replxx::Replxx::ReplxxImpl::insert_character(char32_t) obj-x86_64-linux-gnu/../contrib/replxx/src/replxx_impl.cxx:1197:3
7 0x25f79347 in replxx::Replxx::ReplxxImpl::action(unsigned long long, replxx::Replxx::ACTION_RESULT (replxx::Replxx::ReplxxImpl::* const&)(char32_t), char32_t) obj-x86_64-linux-gnu/../contrib/replxx/src/replxx_impl.cxx:1130:29
8 0x25f79347 in replxx::Replxx::ReplxxImpl::get_input_line() obj-x86_64-linux-gnu/../contrib/replxx/src/replxx_impl.cxx:1123:11
9 0x25f7844c in replxx::Replxx::ReplxxImpl::input(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) obj-x86_64-linux-gnu/../contrib/replxx/src/replxx_impl.cxx:455:8
10 0x25af5693 in ReplxxLineReader::readOneLine(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) obj-x86_64-linux-gnu/../base/common/ReplxxLineReader.cpp:108:29
11 0x25aed149 in LineReader::readLine(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) obj-x86_64-linux-gnu/../base/common/LineReader.cpp:81:26
12 0xaa80ba2 in DB::Client::mainImpl() obj-x86_64-linux-gnu/../programs/client/Client.cpp:654:33
13 0xaa756f5 in DB::Client::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) obj-x86_64-linux-gnu/../programs/client/Client.cpp:280:20
14 0x25c0c8b5 in Poco::Util::Application::run() obj-x86_64-linux-gnu/../contrib/poco/Util/src/Application.cpp:334:8
15 0xaa4d050 in mainEntryClickHouseClient(int, char**) obj-x86_64-linux-gnu/../programs/client/Client.cpp:2724:23
16 0xa848c3a in main obj-x86_64-linux-gnu/../programs/main.cpp:368:12
17 0x7ffff7dcab24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
18 0xa79b36d in _start (/src/ch/tmp/upstream/clickhouse-asan+0xa79b36d)
0x60400006ebc0 is located 0 bytes to the right of 48-byte region [0x60400006eb90,0x60400006ebc0)
allocated by thread T0 here:
0 0xa84509d in operator new(unsigned long) (/src/ch/tmp/upstream/clickhouse-asan+0xa84509d)
1 0x25f7af76 in void* std::__1::__libcpp_operator_new<unsigned long>(unsigned long) obj-x86_64-linux-gnu/../contrib/libcxx/include/new:235:10
2 0x25f7af76 in std::__1::__libcpp_allocate(unsigned long, unsigned long) obj-x86_64-linux-gnu/../contrib/libcxx/include/new:261:10
3 0x25f7af76 in std::__1::allocator<replxx::Replxx::Color>::allocate(unsigned long) obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:840:38
4 0x25f7af76 in std::__1::allocator_traits<std::__1::allocator<replxx::Replxx::Color> >::allocate(std::__1::allocator<replxx::Replxx::Color>&, unsigned long) obj-x86_64-linux-gnu/../contrib/libcxx/include/__memory/allocator_traits.h:468:21
5 0x25f7af76 in std::__1::vector<replxx::Replxx::Color, std::__1::allocator<replxx::Replxx::Color> >::__vallocate(unsigned long) obj-x86_64-linux-gnu/../contrib/libcxx/include/vector:993:37
6 0x25f7af76 in std::__1::vector<replxx::Replxx::Color, std::__1::allocator<replxx::Replxx::Color> >::vector(unsigned long, replxx::Replxx::Color const&) obj-x86_64-linux-gnu/../contrib/libcxx/include/vector:1155:9
7 0x25f7af76 in replxx::Replxx::ReplxxImpl::render(replxx::Replxx::ReplxxImpl::HINT_ACTION) obj-x86_64-linux-gnu/../contrib/replxx/src/replxx_impl.cxx:543:19
8 0x25f74059 in replxx::Replxx::ReplxxImpl::refresh_line(replxx::Replxx::ReplxxImpl::HINT_ACTION) obj-x86_64-linux-gnu/../contrib/replxx/src/replxx_impl.cxx:729:2
9 0x25f6bc8f in replxx::Replxx::ReplxxImpl::insert_character(char32_t) obj-x86_64-linux-gnu/../contrib/replxx/src/replxx_impl.cxx:1197:3
10 0x25f79347 in replxx::Replxx::ReplxxImpl::action(unsigned long long, replxx::Replxx::ACTION_RESULT (replxx::Replxx::ReplxxImpl::* const&)(char32_t), char32_t) obj-x86_64-linux-gnu/../contrib/replxx/src/replxx_impl.cxx:1130:29
11 0x25f79347 in replxx::Replxx::ReplxxImpl::get_input_line() obj-x86_64-linux-gnu/../contrib/replxx/src/replxx_impl.cxx:1123:11
12 0x25f7844c in replxx::Replxx::ReplxxImpl::input(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) obj-x86_64-linux-gnu/../contrib/replxx/src/replxx_impl.cxx:455:8
13 0x25af5693 in ReplxxLineReader::readOneLine(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) obj-x86_64-linux-gnu/../base/common/ReplxxLineReader.cpp:108:29
14 0x25aed149 in LineReader::readLine(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) obj-x86_64-linux-gnu/../base/common/LineReader.cpp:81:26
15 0xaa80ba2 in DB::Client::mainImpl() obj-x86_64-linux-gnu/../programs/client/Client.cpp:654:33
16 0xaa756f5 in DB::Client::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) obj-x86_64-linux-gnu/../programs/client/Client.cpp:280:20
17 0x25c0c8b5 in Poco::Util::Application::run() obj-x86_64-linux-gnu/../contrib/poco/Util/src/Application.cpp:334:8
18 0xaa4d050 in mainEntryClickHouseClient(int, char**) obj-x86_64-linux-gnu/../programs/client/Client.cpp:2724:23
19 0xa848c3a in main obj-x86_64-linux-gnu/../programs/main.cpp:368:12
20 0x7ffff7dcab24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
SUMMARY: AddressSanitizer: heap-buffer-overflow (/src/ch/tmp/upstream/clickhouse-asan+0xa8148e9) in __asan_memcpy
v2: fix lexer instead of client quirk
2021-03-06 12:23:41 +03:00
alexey-milovidov
af2135ef9d
Merge pull request #21477 from ClickHouse/fix_mutation_deadlock
...
Fix deadlock in delete mutations when predicate contains table itself
2021-03-06 02:08:00 +03:00
alexey-milovidov
af90658369
Merge pull request #21432 from azat/flaky-distributed-tests
...
Fix flaky tests with distributed queries
2021-03-06 02:04:07 +03:00
alexey-milovidov
5a100e246c
Merge pull request #21455 from den-crane/tests/issue_21413
...
test for #21413
2021-03-06 01:56:15 +03:00
alexey-milovidov
35b304bdb1
Merge pull request #21393 from ClickHouse/dict-name-dot
...
Add a test for #15469
2021-03-06 01:47:17 +03:00
alexey-milovidov
39bfcf220d
Merge pull request #21452 from ClickHouse/filimonov-patch-1
...
avoid race in librdkafka
2021-03-06 00:57:30 +03:00
alesapin
aff86b1da2
Fix deadlock in delete mutations when predicate contains table itself
2021-03-05 15:32:55 +03:00
Nikolai Kochetov
5f6c8eb1d0
Merge pull request #21447 from ClickHouse/try-fix-perftests
...
Try fix perftests.
2021-03-05 12:48:28 +03:00
alesapin
9a9d5a74ba
Merge pull request #21439 from ClickHouse/fix_nukeeper_default_path
...
Use path as default prefix for coordination logs
2021-03-05 10:11:44 +03:00
Alexey Milovidov
c3110a611e
Skip Arcadia
2021-03-05 05:06:49 +03:00
Alexey Milovidov
0f52c62ab0
Merge branch 'master' into dict-name-dot
2021-03-05 05:06:25 +03:00
Nikita Mikhaylov
37d4c69d3a
Merge pull request #21433 from azat/parsing-exception-message-fix
...
Fix ParsingException::displayText()
2021-03-05 01:59:06 +03:00
Denis Zhuravlev
c0eefb644e
test for #21413
2021-03-04 16:58:12 -04:00
Azat Khuzhin
205ebc7cff
Tune idle_connection_timeout to avoid reconnects
...
There may be 1 hour between two different distributed queries in tests
(see [1] and [2]), if this will happen then the connection may be closed
already due to idle_connection_timeout.
[1]: https://clickhouse-test-reports.s3.yandex.net/21432/572d5862961ffda88125679e3a5ea684c316b223/functional_stateless_tests_(debug).html#fail1
[2]: https://clickhouse-test-reports.s3.yandex.net/21432/572d5862961ffda88125679e3a5ea684c316b223/functional_stateless_tests_(antlr_debug).html#fail1
Let's tune it to avoid such issues and override other settings in tests.
Another option is to execute SYSTEM RELOAD CONFIG before each test...
2021-03-04 22:48:09 +03:00
Azat Khuzhin
7794ac66d4
Fix flaky tests with distributed queries
...
There was few attempts to fix this [1] and [2], but it still pops up
sometimes, for example here [3].
[1]: 009f57fc2f
/ #11211
[2]: cdb6bed8b9
/ #14198
[3]: https://clickhouse-test-reports.s3.yandex.net/21318/38be9ff43ac4c46ce6e803fc125d910bde1d4c71/functional_stateless_tests_(release,_databasereplicated).html#fail1
Let's use more generic approach, and do not hide any errors (and see
does increasing timeout will be enough).
2021-03-04 22:48:04 +03:00
tavplubix
9244bc43ee
Merge pull request #21021 from zhang2014/fix/materialize_mysql_integration_test
...
Try fix MaterializeMySQL integration test
2021-03-04 22:22:20 +03:00
Denis Zhuravlev
102a0b2c5d
test for #21413
2021-03-04 10:46:01 -04:00
filimonov
bd8c3eb117
avoid race in librdkafka
...
see https://github.com/edenhill/librdkafka/issues/3279
2021-03-04 15:01:10 +01:00
alesapin
39de525c74
Simplify config
2021-03-04 16:49:22 +03:00
Ivan
218542589a
Merge pull request #19673 from azat/distributed-bytes_to_throw_insert
...
Add ability to throttle INSERT into Distributed
2021-03-04 13:28:23 +03:00
Nikolai Kochetov
a195e783d2
Try fix perftests.
2021-03-04 13:25:49 +03:00
Nikolai Kochetov
b985e33294
Merge pull request #21434 from azat/dist-query-SIGSEGV-on-exception-fix
...
Fix SIGSEGV for distributed queries on failures
2021-03-04 11:32:17 +03:00
Azat Khuzhin
e858dae187
Fix SIGSEGV for distributed queries on failures
...
Since after pull(), cancel() will be called, and this will lead to
SIGSEGV, since there is no exception, but has_exception was not reseted
in pull()
2021-03-04 00:42:49 +03:00
Azat Khuzhin
e7948819f9
Fix ParsingException::displayText()
...
Before it was silently try-catched for messages with additional {}, and
it is very easy to trigger, i.e.:
SELECT toDateTime(format('{}-{}-01 00:00:00', '2021', '1'))
Will print:
Code: 41. DB::Exception: Received from localhost:9000. DB::Exception: Cannot parse datetime 2021-1-01 00:00:00{}: Cannot parse DateTime from String: while executing 'FUNCTION toDateTime(format('{}-{}-01 00:00:00', '2021', '1') :: 3) -> toDateTime(format('{}-{}-01 00:00:00', '2021', '1')) DateTime : 2'.
2021-03-03 23:44:51 +03:00
Azat Khuzhin
a57c646467
Fix 01293_system_distribution_queue flakiness
2021-03-03 23:30:24 +03:00
Azat Khuzhin
9a4f469a38
Fix 00753_distributed_system_columns_and_system_tables flakiness
2021-03-03 23:30:24 +03:00
Azat Khuzhin
6965ac26c3
Distributed: Add ability to delay/throttle INSERT until pending data will be reduced
...
Add two new settings for the Distributed engine:
- bytes_to_delay_insert
- max_delay_to_insert
If at the beginning of INSERT there will be too much pending data, more
then bytes_to_delay_insert, then the INSERT will wait until it will be
shrinked, and not more then max_delay_to_insert seconds.
If after this there will be still too much pending, it will throw an
exception.
Also new profile events were added (by analogy to the MergeTree):
- DistributedDelayedInserts (although you can use system.errors instead
of this, but still)
- DistributedRejectedInserts
- DistributedDelayedInsertsMilliseconds
2021-03-03 23:30:23 +03:00
Azat Khuzhin
cabe4ca1bb
tests: split 00753_system_columns_and_system_tables (to disable Distributed part for arcadia)
2021-03-03 23:30:03 +03:00
Azat Khuzhin
3102835d56
tests: Use total_bytes>0 for Distributed engine in 00753_system_columns_and_system_tables
2021-03-03 23:30:03 +03:00
Azat Khuzhin
b43046ba06
Distributed: More accurate distribution_queue counters
...
So now system.distribution_queue will show accurate statistics, so tests
does not requires sleep anymore.
But note that with too much distributed pending this will iterate over
all directories.
2021-03-03 23:30:03 +03:00
Azat Khuzhin
b5a5778589
Distributed: Add ability to limit amount of pending bytes for async INSERT
...
Right now with distributed_directory_monitor_batch_inserts=1 and
insert_distributed_sync=0 INSERT into Distributed table will store
blocks that should be sent to remote (and in case of
prefer_localhost_replica=0 to the localhost too) on the local
filesystem, and sent it in background.
However there is no limit for this storage, and if the remote is
unavailable (or some other error), these pending blocks may take
significant space, and this is not always desired behaviour.
Add new Distributed setting - bytes_to_throw_insert, that will set the
limit for how much pending bytes is allowed, if the limit will be
reached an exception will be throw.
By default was set to 0, to avoid surprises.
2021-03-03 23:30:00 +03:00
Azat Khuzhin
ce09b7ff89
Distributed: Implement totalBytes() (system.tables.total_bytes)
2021-03-03 23:29:11 +03:00
Alexey Milovidov
e8df9971f1
Fix Arcadia
2021-03-03 18:12:39 +03:00
Alexander Kuzmenkov
f169be740a
Merge pull request #21381 from ClickHouse/aku/perf-negative
...
fix a rare false negative in perf tests
2021-03-03 15:55:14 +03:00
Nikolai Kochetov
cb122160ae
Merge pull request #19291 from Avogar/hedged-requests
...
Implementation of HedgedRequests
2021-03-03 12:58:37 +03:00
alesapin
6b1005aea5
Merge pull request #21334 from ClickHouse/fix_alter_partition_key
...
Fix alter modify query for partition key and other metadata fields
2021-03-03 10:15:11 +03:00
alexey-milovidov
36c5fd840b
Merge pull request #21392 from ClickHouse/add-test-14740
...
Add a test for #14740
2021-03-03 06:33:18 +03:00
Alexey Milovidov
71b52542d9
Add to skip list for parallel runs
2021-03-03 04:37:11 +03:00
Alexey Milovidov
8f45ed5117
Add a test for #15469
2021-03-03 04:35:43 +03:00
alexey-milovidov
9092bc3b85
Merge pull request #21387 from den-crane/tests/issue21369
...
test for issue#21369
2021-03-03 03:05:01 +03:00
Anton Popov
a4c00ab5dc
Merge pull request #21303 from ucasFL/forbid
...
Forbid to drop a column if it's referenced by materialized view
2021-03-03 02:55:06 +03:00
Alexey Milovidov
a93e29ef4a
Add a test for #14740
2021-03-03 02:00:19 +03:00
Pavel Kruglov
d1524b749e
Fix tests
2021-03-03 01:24:41 +03:00
Denis Zhuravlev
1278b5c71a
test for issue#21369
2021-03-02 16:29:11 -04:00
Nikolai Kochetov
8e6fa404c4
Merge pull request #21246 from ucasFL/union-distinct-improve
...
Improve Normalization of ASTSelectWithUnionQuery
2021-03-02 21:37:07 +03:00
Alexander Kuzmenkov
08148e062f
Fix a rare false negative in perf tests
2021-03-02 19:21:30 +03:00
Pavel Kruglov
4269eaa252
Change tests
2021-03-02 17:05:33 +03:00
Pavel Kruglov
4166ae1f45
Restart timeout when we make progress
2021-03-02 15:40:24 +03:00
Nikolai Kochetov
ffbea93b10
Merge pull request #19576 from traceon/row-policy-with-prewhere
...
Allow row policies with PREWHERE
2021-03-02 13:51:37 +03:00
alesapin
06678d650d
Merge branch 'master' into fix_alter_partition_key
2021-03-02 13:43:41 +03:00