Commit Graph

73818 Commits

Author SHA1 Message Date
alexey-milovidov
f21ea8f160
Update CompressedReadBufferBase.cpp 2021-10-02 06:13:46 +03:00
alexey-milovidov
9025f522ec
Merge pull request #29603 from qoega/improve-integration-2
Improve some more integration tests
2021-10-02 06:09:24 +03:00
Anton Popov
bb92ff52d8
Update IMergeTreeDataPart.cpp 2021-10-02 00:50:19 +03:00
Anton Popov
d404efbf7e add test for freeze in-memory parts 2021-10-01 22:05:36 +03:00
Maksim Kita
ad6d143303
Merge pull request #29574 from kitaisreal/jit-fix-short-circuit-with-alias
ExpressionJIT fix short-circuit with alias
2021-10-01 21:18:31 +03:00
Nikolai Kochetov
754f7aafeb
Merge pull request #29608 from ClickHouse/fix-many-signals-in-integration-tests
Do not send many signals at server restart (integration tests).
2021-10-01 21:09:00 +03:00
Azat Khuzhin
9d69786a6b Increase listen_backlog by default (to match default in newer linux kernel)
It was 64 for a long time, and even linux kernel never has such a small
limit, it had 128 (net.core.somaxconn sysctl).

But recently, in 5.4, the default value had been increased even in
linux kernel, to 4096 [1].

  [1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=19f92a030ca6d772ab44b22ee6a01378a8cb32d4

Let's increase it in ClickHouse too.

Also note, that I've looked through some instances with
clickhouse-server only, and TcpExtListenOverflows was non zero (`nstat
-za`), in other words backlog of the listen socket indeed overflowed
there.

So it is better to increase the default to move the problem to
clickhouse-server itself (yes you will unlikely have 4K new incomming
connections at one time, with accept thread do not accept them all, but
still seems that it is possible, maybe due to some locks or something
else).
2021-10-01 21:03:59 +03:00
Azat Khuzhin
cab0551c5b Add ability to compile using newer version fo glibc w/o using new symbols
In glibc 2.32 new version of some symbols had been added [1]:

    $ nm -D clickhouse | fgrep -e @GLIBC_2.32
                     U pthread_getattr_np@GLIBC_2.32
                     U pthread_sigmask@GLIBC_2.32

  [1]: https://www.spinics.net/lists/fedora-devel/msg273044.html

Right now ubuntu 20.04 is used as official image for building
ClickHouse, however once it will be switched someone may not be happy
with that fact that he/she cannot use official binaries anymore because
they have glibc < 2.32.

To avoid this dependency, let's force previous version of those
symbols from glibc.

Note, that I've tested this by compiling with glibc 2.32 and verifying
that output ELF does not have @GLIBC_2.32 symbols and also running that
binary inside ubuntu:20.04 image (that has glibc 2.31).

v1: -Wl,--wrap
v2: -Wl,--defsym
v3: -include
v4: fix versioning for aarch64
2021-10-01 21:01:59 +03:00
Vitaly Baranov
27f6d5864d
Merge pull request #29060 from azat/inter-server-secret-auth-fix
Do not allow to reuse previous credentials in case of inter-server secret
2021-10-01 20:44:48 +03:00
Anton Popov
f0363c524d Merge branch 'master' of git://github.com/mo-avatar/ClickHouse into merging-29376 2021-10-01 20:29:33 +03:00
Mike Kot
e8625e85a4 Fixing integration tests 2021-10-01 19:13:14 +02:00
Maksim Kita
57666725f9
Merge pull request #29623 from kitaisreal/bloom-filter-indexes-map-support-fix-unsafe-identifier-cast
BloomFilter indexes map data type support fix unsafe identifier cast
2021-10-01 19:28:04 +03:00
Maksim Kita
94117f83ad
Merge pull request #29636 from kitaisreal/map-get-non-const-key-added-test
Map get non const key added test
2021-10-01 19:27:46 +03:00
Nikita Mikhaylov
b2f7b6fae8
Fix race between MergeTask and storage destruction (#29614) 2021-10-01 18:55:04 +03:00
Mike Kot
282aa6009b Merge branch 'improvement/fn-traits' of github.com:myrrc/ClickHouse into improvement/fn-traits 2021-10-01 16:56:59 +02:00
Mike Kot
38b02b121a Merge remote-tracking branch 'upstream/master' into improvement/fn-traits 2021-10-01 16:55:28 +02:00
Mike Kot
5e560ff9d7 fix 2021-10-01 16:55:01 +02:00
Maksim Kita
a58cc620e9 Map get non const key added test 2021-10-01 17:54:40 +03:00
Maksim Kita
2fd9b3e6f3
Merge pull request #29627 from den-crane/patch-29
Doc. warning about systems with small RAM
2021-10-01 17:34:11 +03:00
Maksim Kita
fe6bb1bb1e Fixed tests 2021-10-01 17:33:14 +03:00
Denny Crane
6a1f6f799f
Update tips.md
warning about system with small RAM
2021-10-01 11:24:06 -03:00
Maksim Kita
26b8d4c480 Fixed test 2021-10-01 17:10:28 +03:00
Maksim Kita
4a480699bd Added tests 2021-10-01 16:44:09 +03:00
Vladimir C
ec966b7df5
Merge pull request #27933 from mathalex/numeric_tuple_functions 2021-10-01 16:18:52 +03:00
Maksim Kita
c793c8e7fa BloomFilter indexes map data type support fix unsafe identifier cast 2021-10-01 14:40:00 +03:00
alesapin
53fce1411c
Merge pull request #29597 from ClickHouse/fix-docker-image
Fix docker/test/util declaration
2021-10-01 13:43:17 +03:00
Nikolai Kochetov
291a8332b9 Do not send many signals at server restart (integration tests). 2021-10-01 12:52:24 +03:00
Maksim Kita
30220529b7
Merge pull request #29573 from ClickHouse/fix_segfault_in_add_database_visitor
Fix nullpointer dereference in AddDefaultDatabaseVisitor
2021-10-01 12:44:15 +03:00
Maksim Kita
b8702e613d Fixed tests 2021-10-01 12:37:04 +03:00
alexey-milovidov
b29e877f26
Merge pull request #29182 from ClickHouse/yandex-to-clickhouse-in-configs
Replace `<yandex>` to `<clickhouse>` in configs and more.
2021-10-01 12:24:12 +03:00
Maksim Kita
47f14d3ea6 Fixed typo 2021-10-01 12:09:28 +03:00
Maksim Kita
3d3f0d3548
Merge pull request #29600 from ClickHouse/skip-executable-table-function-test-msan
Skip test for executable table function under MSan
2021-10-01 12:09:14 +03:00
Maksim Kita
d72e10367f
Merge pull request #29602 from NSTikhomirov/master
Added MD4 and SHA384 functions.
2021-10-01 12:08:30 +03:00
Yatsishin Ilya
2c0071bc6d wip 2021-10-01 09:32:54 +03:00
Yatsishin Ilya
ada6c50aaa Improve some tests 2021-10-01 08:44:50 +03:00
Yatsishin Ilya
05e8441b59 Merge remote-tracking branch 'origin' into improve-integration-2 2021-10-01 07:48:28 +03:00
Nikita Tikhomirov
5de80a057f Added EOL to the end of the test file 02041_openssl_hash_functions_test. 2021-10-01 07:37:59 +03:00
Nikita Tikhomirov
cb7e373bfe Disable fasttest for 02041_openssl_hash_functions_test test. 2021-10-01 07:22:20 +03:00
Nikita Tikhomirov
a49d4d3092 Added tests for OpenSSL hash functions. 2021-10-01 06:23:35 +03:00
alexey-milovidov
7a3f85cda1
Update test.py 2021-10-01 05:04:12 +03:00
Alexey Milovidov
32c0b22a6a Skip test for executable table function under MSan 2021-10-01 05:02:57 +03:00
Alexey Milovidov
f919271096 Compatibility 2021-10-01 04:46:41 +03:00
Nikita Tikhomirov
2d23f40fd2 Added documentation for MD4 and SHA384 functions. Supplementing documentation with SHA-512 where it was missing. 2021-10-01 04:38:34 +03:00
Nikita Tikhomirov
37f76d60ff Added MD4 and SHA384 functions. Refactoring the length of hashes in variables. 2021-10-01 04:19:50 +03:00
Alexey Milovidov
4271f8c738 Merge remote-tracking branch 'origin/master' into yandex-to-clickhouse-in-configs 2021-10-01 01:33:58 +03:00
Azat Khuzhin
91f6cf44b3 Fix SessionLog::addLoginSuccess() for ClientInfo::Interface::TCP_INTERSERVER
In this case there there can be no user.
CI report [1]:

    Address: 0x1f Access: read. Address not mapped to object.
    Stack trace: 0x24494b2f 0x244784c6 0x260fe1af 0x260ed672 0x260ddffa 0x26104880 0x2d62f3af 0x2d6300a1 0x2d926666 0x2d91fb7a 0x7f8bcea3c609 0x7f8bce963293
    3.1. inlined from ./obj-x86_64-linux-gnu/../contrib/libcxx/include/string:0: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::operator=(std::__1::basic_string>
    3. ../src/Interpreters/SessionLog.cpp:216: DB::SessionLog::addLoginSuccess(StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> const&, std::__1::optional<std::__1::basic_string<char, st>
    4. ./obj-x86_64-linux-gnu/../src/Interpreters/Session.cpp:0: DB::Session::makeQueryContextImpl(DB::ClientInfo const*, DB::ClientInfo*) const @ 0x244784c6 in /usr/bin/clickhouse
    5.1. inlined from ./obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:3299: std::__1::shared_ptr<DB::Context>::swap(std::__1::shared_ptr<DB::Context>&)
    5.2. inlined from ../contrib/libcxx/include/memory:3243: std::__1::shared_ptr<DB::Context>::operator=(std::__1::shared_ptr<DB::Context>&&)
    5. ../src/Server/TCPHandler.cpp:1208: DB::TCPHandler::receiveQuery() @ 0x260fe1af in /usr/bin/clickhouse
    6. ./obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:0: DB::TCPHandler::receivePacket() @ 0x260ed672 in /usr/bin/clickhouse
    7. ./obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:0: DB::TCPHandler::runImpl() @ 0x260ddffa in /usr/bin/clickhouse
    8. ./obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:1643: DB::TCPHandler::run() @ 0x26104880 in /usr/bin/clickhouse

  [1]: https://clickhouse-test-reports.s3.yandex.net/29060/c087fc0ed5fbea133eb3dc3a64b8db93a81d0ece/integration_tests_flaky_check_(asan).html#fail1
2021-10-01 01:13:15 +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
Azat Khuzhin
1af02f02bd Add a test for INSERT w/o user in interserver mode
v2: ensure that the test fails with the version w/o fix
v3: force connect by modifying config and reload it
v4: add comments
2021-10-01 01:13:08 +03:00
Azat Khuzhin
2822f71eec tests/integration/helpers: add query_id for query() 2021-10-01 01:13:08 +03:00
Dmitry Novik
ad3c3f72e4 Fix docker/test/util declaration 2021-10-01 01:04:06 +03:00