Commit Graph

74126 Commits

Author SHA1 Message Date
alexey-milovidov
59fdfd18db
Merge pull request #29667 from ClickHouse/clickhouse-obfuscator-embedded-dictionaries
Fix issue: clickhouse-format --obfuscate cannot process queries with embedded dictionaries
2021-10-03 05:57:03 +03:00
alexey-milovidov
fb9097c22e
Merge pull request #29500 from myrrc/improvement/fn-traits
Introducing Fn concept for function signature checking, simplifying SimpleCache
2021-10-03 02:21:05 +03:00
Mike Kot
d8b336a942 fix 2021-10-03 00:47:25 +02:00
Mike Kot
84505b7947 fix 2021-10-03 00:24:11 +02:00
Mike Kot
da66f4f533 Slight changes 2021-10-03 00:06:07 +02:00
Alexey Milovidov
b63b8d5446 Add a test 2021-10-03 01:02:36 +03:00
Mike Kot
605268811b More warnings for clang, exper. constexpr interpreter for clang 2021-10-02 23:50:47 +02:00
Alexey Milovidov
7269b20ecc Fix issue: clickhouse-format --obfuscate cannot process queries with embedded dictionaries 2021-10-03 00:46:51 +03:00
Mike Kot
585e6d53ff fix 2021-10-02 22:55:26 +02:00
Maksim Kita
71ed20f656 UserDefinedExecutableFunctions added implicit cast 2021-10-02 23:29:09 +03:00
Mike Kot
57e2744264 Fixing other imports 2021-10-02 21:47:35 +02:00
Mike Kot
38232c286d fixing paths 2021-10-02 21:45:05 +02:00
Mike Kot
65e6e211b4 Merge remote-tracking branch 'upstream/master' into improvement/fn-traits 2021-10-02 21:37:50 +02:00
Anton Popov
857b8f0b1d fix clang-tidy 2021-10-02 22:36:30 +03:00
Anton Popov
1f10246a10 Merge remote-tracking branch 'upstream/master' into HEAD 2021-10-02 22:33:27 +03:00
Maksim Kita
87f99c5104
Merge pull request #29643 from azat/listen_backlog
Increase listen_backlog by default (to match default in newer linux kernel)
2021-10-02 22:06:30 +03:00
alexey-milovidov
921c5ce4c3
Merge pull request #29660 from azat/client-fuzzer-fixes
Do not try to fuzz `USE`/`SET` queries and print stacktrace
2021-10-02 22:01:33 +03:00
Anton Popov
b64bbb54aa
Merge pull request #29203 from CurtizJ/fix-ubsan
Fix integer underflow in function `quantile`
2021-10-02 20:36:53 +03:00
Maksim Kita
785cb6510f
Merge pull request #29663 from azat/perf-fixes
Perf fixes
2021-10-02 19:30:02 +03:00
Maksim Kita
6a08b8def9
Merge pull request #29661 from ClickHouse/rename-common
Rename `common` to `base`
2021-10-02 19:29:26 +03:00
Maksim Kita
87bb596875 Fixed modelEvaluate 2021-10-02 17:15:32 +03:00
Maksim Kita
395119339f Merge branch 'master' into rename-common 2021-10-02 17:15:10 +03:00
Maksim Kita
1a200f770c
Merge pull request #29662 from ClickHouse/model-evaluate-own-file
Move modelEvaluate function to its own file
2021-10-02 17:12:16 +03:00
Maksim Kita
c966806205
Merge pull request #29529 from kitaisreal/external-xml-loaders-reload-with-server-configuration-support
ExternalXMLLoaders reload with server configuration support
2021-10-02 16:26:28 +03:00
Maksim Kita
8a772e0bc0
Update ExternalLoaderXMLConfigRepository.cpp 2021-10-02 16:26:13 +03:00
kssenii
0ed92d85e2 Fix 2021-10-02 13:05:19 +00:00
Mike Kot
5d38930a3c Fixing gcc build due to a bug in compiler 2021-10-02 14:27:52 +02:00
Azat Khuzhin
74a7a0603d test/fuzzer: print stacktrace
To get the stacktrace for errors w/o it [1]:

    SET max_parser_depth = 4000

    Got boring AST
    Code: 306. DB::Exception: Maximum parse depth (1000) exceeded. Consider rising max_parser_depth parameter. (TOO_DEEP_RECURSION)

  [1]: https://clickhouse-test-reports.s3.yandex.net/29513/769bfbe71f22c392458eced655080a0bbd442e02/fuzzer_ubsan/fuzzer.log
2021-10-02 12:49:44 +03:00
alexey-milovidov
654b9b1234
Merge pull request #29605 from qoega/compressed-buffer-fuzz
Improve CompressedReadBuffer
2021-10-02 12:04:01 +03:00
alexey-milovidov
86d1ce63cf
Merge pull request #29649 from CurtizJ/merging-29376
Merging #29376
2021-10-02 12:02:42 +03:00
Azat Khuzhin
0b6063a902 Disable merges for parallel_mv 2021-10-02 11:54:47 +03:00
Alexey Milovidov
ed54a4c944 Fix build 2021-10-02 11:49:25 +03:00
Alexey Milovidov
922872fb9a Move modelEvaluate function to its own file 2021-10-02 11:39:26 +03:00
Alexey Milovidov
2ad5dbdfe8 Rename "common" to "base" 2021-10-02 11:30:38 +03:00
Azat Khuzhin
4d5ca0f409 client: do not try to fuzz USE queries 2021-10-02 11:17:17 +03:00
Azat Khuzhin
a419fe6633 client: don not try to fuzz SET queries
They were forbidden in QueryFuzzer.cpp anyway, this is just a patch to
avoid trying to do this and update comment.
2021-10-02 11:16:53 +03: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
alexey-milovidov
93a11d7444
Update adopters.md 2021-10-02 09:33:53 +03:00
alexey-milovidov
41924c9a2b
Merge pull request #29594 from azat/glibc-compact
Add ability to compile using newer version fo glibc w/o using new symbols
2021-10-02 06:24:13 +03:00
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
769bfbe71f Fix server pid in fuzzer tests
Previously it was the pid of the subshell 40 while it should be the pid
of the clickhouse-server 39:

Here we see that the server pid is 39:

    2021-09-28 11:02:34	 + pgrep -f clickhouse-server
    2021-09-28 11:02:34	 39

Here we see that the 40 is the pid of subshell:

    2021-09-28 11:02:45	 ch/docker/test/fuzzer/run-fuzzer.sh: line 90:    39 Killed                  clickhouse-server --config-file db/config.xml -- --path db 2>&1
    2021-09-28 11:02:45	         40 Done                    | tail -100000 > server.log

And here we see that server_pid variable is 40:

    2021-09-28 11:02:45	 + server_exit_code=0
    2021-09-28 11:02:45	 + wait 40

v2: wait in background to call wait in foreground and ensure that the
process is alive, since w/o job control this is the only way to obtain
the exit code
2021-10-01 21:05:30 +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