Commit Graph

972 Commits

Author SHA1 Message Date
Nikolay Degterinsky
fc9ef14a73
Merge pull request #29219 from evillique/log_lz4_streaming
Add LZ4 stream compression of logs
2021-11-17 21:22:57 +03:00
Amos Bird
93294734d3
Better clickhouse-client multiline input 2021-11-17 22:11:30 +08:00
Nikolay Degterinsky
ddef6d86ca Minor fixes 2021-11-16 23:02:47 +00:00
Nikolay Degterinsky
2ae79233e4 Better 2021-11-16 23:02:47 +00:00
Nikolay Degterinsky
eafd3ddfac Add lz4 stream compression 2021-11-16 22:30:29 +00:00
alexey-milovidov
9a30709e99
Update ReplxxLineReader.cpp 2021-11-17 00:44:52 +03:00
Azat Khuzhin
b7030720b6 Add comments for ReplxxLineReader::executeEditor() 2021-11-16 23:26:41 +03:00
Azat Khuzhin
7576f4d9cd Fix waiting of the editor during interactive query edition
On resize (SIGWINCH) waitpid() will fail with EINTR error, and after
this clickhouse-client/clickhouse-local will works concurrently.
2021-11-16 23:26:41 +03:00
Azat Khuzhin
6fdbffb533 Avoid using extra shell for editor invocation (for query editing) 2021-11-16 23:26:41 +03:00
Azat Khuzhin
ed4b5c7640 Check stderr is writable before reopining it (to avoid losing errors) 2021-11-13 22:26:05 +03:00
alexey-milovidov
5100ec7b48
Update defines.h 2021-11-11 21:51:24 +03:00
Vladimir Smirnov
48451182f8 Initial support for risc-v
Make ClickHouse compilable and runnable on risc-v 64

So far only basic functionality was tested (on real hw),
clickhouse server runs, exceptions works, client works,
simple tests works.

What doesn't work:
 1. traces - they are always empty
 2. system.stack_trace only have first frame
2021-11-11 19:23:34 +01:00
avogar
c521a9131a Small refactoring of WriteBiffer-s 2021-11-11 02:11:18 +03:00
Vitaly Baranov
1579bcfd20
Merge pull request #31178 from vitlibar/backup-engines-and-improvements
Backup engines and improvements
2021-11-10 18:20:41 +03:00
Vitaly Baranov
bf8606a931 Add UUID and timestamp to backup metadata. 2021-11-09 23:16:45 +03:00
Pavel Medvedev
340aed30b6 revert cgroup memory limit to uint64_t
... to fix compiler warning about signed/unsigned comparison.

See issue #25662
2021-11-08 18:56:31 +01:00
Pavel Medvedev
54f543b61a apply cgroup memory limit to physical memory amount
... after obtaining the memory amount, in order to return not greater
than the physical memory from `getMemoryAmount()`

Additionally reading the memory limit as a singned int64_t, since
there is no guarantie the setting file contains non-negative value.

See issue #25662
2021-11-08 15:16:45 +01:00
alexey-milovidov
a487ee6f25
Merge pull request #30574 from pmed/issue_25662_cgroup_memory_limit
WIP: use cgroup memory limit in getMemoryAmountOrZero
2021-10-31 14:53:16 +03:00
Alexey Milovidov
8b4a6a2416 Remove cruft 2021-10-28 02:10:39 +03:00
alexey-milovidov
705c1b957d
Update getMemoryAmount.cpp 2021-10-23 05:27:15 +03:00
Pavel Medvedev
eaca39ba05 use cgroup memory limit in getMemoryAmountOrZero
Try to read the memory amount from /sys/fs/cgroup/memory/memory.limit_in_bytes

See issue #
2021-10-23 02:54:58 +02:00
Maksim Kita
0b3926950d
Merge pull request #30143 from amosbird/useupstreamreplxx
Use upstream replxx
2021-10-19 17:50:43 +03:00
alexey-milovidov
f4bfed9d3a
Merge pull request #29586 from evillique/log_levels_update
Add log levels updates
2021-10-17 20:54:46 +03:00
alexey-milovidov
e9af03ef52
Merge pull request #30248 from ClickHouse/musl-4
Preparation to build with Musl
2021-10-16 18:44:35 +03:00
Alexey Milovidov
55116ae399 Fix error 2021-10-16 01:57:22 +03:00
Alexey Milovidov
41acc52458 Preparation to build with Musl 2021-10-16 00:17:34 +03:00
Amos Bird
4800749d32
make Ctrl-J to commit 2021-10-14 23:56:28 +08:00
Nikolay Degterinsky
2da43012b6 Add log levels updates 2021-10-14 16:34:30 +03:00
Maksim Kita
04047f76c7 Fixed tests 2021-10-14 00:33:18 +03:00
Maksim Kita
d55561422f Fixed tests 2021-10-14 00:33:18 +03:00
alexey-milovidov
21f3316884
Merge pull request #29933 from ClickHouse/sentry-remove-trash
Remove trash from SentryWriter
2021-10-12 21:14:46 +03:00
Alexey Milovidov
8196f89481 Remove trash from CMake 2021-10-11 06:58:08 +03:00
Alexey Milovidov
af4066c255 Remove printf 2021-10-10 21:54:15 +03:00
Alexey Milovidov
4e6ed5c45c Remove trash from SentryWriter 2021-10-10 04:10:52 +03:00
Anton Popov
199ac31b48
Merge pull request #29683 from myrrc/improvement/tl-to-common
Non-recursive implementation for type list and its functions
2021-10-05 21:49:15 +03:00
Mike Kot
25a62b9f83 Renaming TL to Typelist 2021-10-05 17:22:02 +02:00
Maksim Kita
3834256abf
Merge pull request #29722 from kitaisreal/borrowed-object-pool-condition-variable-notify-fix
BorrowedObjectPool condition variable notify fix
2021-10-04 21:39:59 +03:00
Nikita Mikhaylov
613b814e24
Merge pull request #29595 from CurtizJ/generalize-update-permutation
Generalize code in `IColumn::updatePermutation`
2021-10-04 20:36:57 +03:00
Nikita Mikhaylov
b31d11478b
Merge pull request #29680 from azat/defines
Cleanup common defines
2021-10-04 20:13:29 +03:00
Maksim Kita
26611ba72c BorrowedObjectPool condition variable notify fix 2021-10-04 13:25:44 +03:00
alexey-milovidov
6abb3d4c6d
Merge pull request #29682 from traceon/xcode-13-fix-build
Fix Xcode 13 build
2021-10-04 02:34:43 +03:00
Sergei Semin
8e81732bb1 fix rename of path for iostream_debug_helpers.h 2021-10-04 00:29:00 +03:00
Mike Kot
8c8bada56e Non-recursive implementation for TL and its functions 2021-10-03 18:02:04 +02:00
Denis Glazachev
ca7b69b0f3 Manipulate with -Wreserved-identifier only if HAS_RESERVED_IDENTIFIER has been detected 2021-10-03 17:42:36 +04:00
Azat Khuzhin
d0fc26f91a Do not pretend that windows is supported (remove code undef #ifdef _MSC_VER) 2021-10-03 14:42:53 +03:00
Azat Khuzhin
70e1f4d402 Move ASAN_{UN,}POISON_MEMORY_REGION to base/defines 2021-10-03 14:34:03 +03:00
Azat Khuzhin
1f5d377aa6 Move comments about aliases (inline/noinline and similar) into proper place
Fixes: 571d0d541c ("Improve CCTZ contrib (#9687)")
2021-10-03 14:34:03 +03: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
1f10246a10 Merge remote-tracking branch 'upstream/master' into HEAD 2021-10-02 22:33:27 +03:00
Alexey Milovidov
2ad5dbdfe8 Rename "common" to "base" 2021-10-02 11:30:38 +03:00
Alexey Milovidov
fe6b7c77c7 Rename "common" to "base" 2021-10-02 10:13:14 +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
Mike Kot
e8625e85a4 Fixing integration tests 2021-10-01 19:13:14 +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
Anton Popov
515cc74530 generalize code in IColumn::updatePermutation 2021-10-01 00:11:54 +03:00
Azat Khuzhin
a4f2663b82 Log queries to external databases (since they may be rewriten)
By rewritten means that some expression from WHERE can be removed, yes
there is external_table_strict_query, but sometimes it is too strict.
2021-09-29 21:56:28 +03:00
Mike Kot
7670ea50c1 Replacing std::function to Fn in some places
to avoid dynamic allocating while keeping desired function signature
clear.
Simplifying SimpleCache (CachedFn) using C++20
2021-09-29 13:09:39 +02:00
Alexey Milovidov
cd7f9d981c Remove ya.make 2021-09-25 04:22:54 +03:00
Alexey Milovidov
894f4908fa Add comments 2021-09-19 22:26:16 +03:00
Alexey Milovidov
86f38283ff Merge branch 'master' into better-memequal 2021-09-19 21:54:15 +03:00
alexey-milovidov
20d8523a2e
Merge pull request #28888 from azat/mysql-in-fix
Fix queries to external databases (i.e. MySQL) with multiple columns in IN ( i.e. `(k,v) IN ((1, 2))` )
2021-09-18 15:53:40 +03:00
alexey-milovidov
c4b3add859
Update Query.cpp 2021-09-18 15:46:48 +03:00
Maksim Kita
7c748b6140
Merge pull request #27963 from zhanglistar/overflow_bugfix
Overflow bugfix
2021-09-15 23:31:43 +03:00
Sergei Semin
12e24a23d3
Merge branch 'master' into fix-build-clang-13-2 2021-09-12 19:30:55 +03:00
alexey-milovidov
ea13a8b562
Merge pull request #28659 from myrrc/improvement/tostring_to_magic_enum
Improving CH type system with concepts
2021-09-12 15:26:29 +03:00
Sergei Semin
f74350c148 fix special build 2021-09-12 02:49:31 +03:00
Mike Kot
3401b32e37 Adapted usage of is_decimal concept 2021-09-11 19:35:12 +02:00
Azat Khuzhin
c77c4e22ae Add MySQL query into after transformation in case of BadQuery
Since it may differs from the user input
2021-09-11 14:06:19 +03:00
mergify[bot]
5db3ba7414
Merge branch 'master' into better-memequal 2021-09-11 02:54:07 +00:00
Mike Kot
bce011cb33 Replacing IsDecimalNumber 2021-09-11 00:40:18 +02:00
Mike Kot
c4385a2c40 Simplifying exception messages 2021-09-11 00:40:18 +02:00
Sergei Semin
baa7253677 fix -Wreserved-identifier in base/daemon/BaseDaemon.cpp 2021-09-10 11:41:49 +03:00
Sergei Semin
61d46c09ee fix problem with phdr_cache.cpp (second try) 2021-09-09 23:51:47 +03:00
Sergei Semin
ecff16de48 ignore diagnostic -Wreserved-identifier in file base/common/unit.h 2021-09-09 23:51:47 +03:00
Sergei Semin
39929e52bd add ignore of -Wreserved-identifier into LineReader.cpp, ThreadFuzzer.cpp, ReadBufferFromFileDescriptor.cpp 2021-09-09 23:51:47 +03:00
Sergei Semin
a46d23fa79 ignore reserved-macro-identifier when building lib mysqlxx 2021-09-09 23:51:47 +03:00
Sergei Semin
a7b2867d3d fix reserved-identifier in readpassphrase.c 2021-09-09 23:51:47 +03:00
Sergei Semin
338020e8ed rename __lsan_ignore_object --> lsan_ignore_object in phdr_cache.cpp 2021-09-09 23:51:47 +03:00
Alexey Milovidov
81975a00fe Better memequal implementation 2021-09-09 05:42:13 +03:00
Alexey Milovidov
0e8b4e608b Better memequal implementation 2021-09-09 05:38:48 +03:00
Dmitrii Kovalkov
b073d5a4b4 Default argument for Pool.get() 2021-09-08 13:11:38 +03:00
Maksim Kita
7a4a0b0ede
Merge pull request #28474 from azat/mysql-connection_no_block
Introduce connection_wait_timeout for MySQL engine.
2021-09-07 12:28:02 +03:00
Mike Kot
8e9aacadd1 Initial: replacing hardcoded toString for enums with magic_enum 2021-09-06 16:24:03 +02:00
alesapin
497c225203 Test log level for CI 2021-09-03 13:07:40 +03:00
Azat Khuzhin
ed70ed6f71 Introduce connection_no_wait setting for MySQL engine.
This will allow to avoid superfluous sleep during query execution, since
this not only not desired behavoiur, but also may hang the server, since
if you will execute enough queries that will use MySQL database but will
not allow enough connections (or your MySQL server is too slow) then you
may run out of threads in the global thread pool.

Also note that right now it is possible to get deadlock when the mysql
pool is full, consider the following scenario:

- you have m1 and m2 mysql tables
- you have q1 and q2 queries, bot queries join m1 and m2
- q1 allocated connection for m1 but cannot allocate connection for m2
- q2 allocated connection for m2 but cannot allocate connection for m1
- but to resolve the lock one should give up on the locking while it is not possible right now...

And then you got no free threads and this:

    # grep -h ^202 /proc/$(pgrep clickhouse-serv)/task/*/syscall  | cut -d' ' -f2 | sort | uniq -c | sort -nr | head
       1554 0x7ffb60b92fe8 # mutex in mysqlxx::PoolWithFailover::get
       1375 0x7ffb9f1c4748 # mutex in ::PoolEntryHelper::~PoolEntryHelper from DB::MultiplexedConnections::invalidateReplica
       1160 0x7ffb612918b8 # mutex in mysqlxx::PoolWithFailover::get
         42 0x7ffb9f057984 # mutex in ThreadPoolImpl<std::__1::thread>::worker

    *NOTE: 202 is a `futex` with WAIT*

(Went with `syscall` because debugging 10k+ threads is not easy, and
eventually it may TRAP)
2021-09-02 22:23:37 +03:00
Maksim Kita
e5ee3752ef BorrowedObjectPool fix style 2021-09-02 16:18:10 +03:00
tavplubix
c36fe210b8
Revert "Add test for #13398" 2021-08-27 21:07:10 +03:00
Kruglov Pavel
5bc332c40c
Merge pull request #28054 from kssenii/mysql
Add test for #13398
2021-08-26 16:39:43 +03:00
alexey-milovidov
c6f40c5c2d
Revert "Revert "less sys calls #2: make vdso work again"" 2021-08-25 14:19:20 +03:00
kssenii
0d5000f917 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into mysql 2021-08-24 07:30:42 +00:00
kssenii
962f415740 Add test and settings 2021-08-23 22:18:04 +00:00
Vitaly Baranov
c1177ee562 Support implicit cast std::pair<UInt64, UInt64> to UInt128. 2021-08-23 23:41:45 +03:00
Vitaly Baranov
9a5eeb5d41 Add utility function insertAtEnd(). 2021-08-23 23:41:45 +03:00
Vladimir C
bce6d092ea
Merge pull request #27858 from ianton-ru/MDB-14264
Use Multipart copy upload for large S3 objects
2021-08-23 11:32:19 +03:00
listar
b4a33ce001 1. fix oveflow bug 2021-08-21 19:08:34 +00:00
vdimir
e77ff2740a
Add common/unit.h 2021-08-20 13:57:05 +03:00
tavplubix
9ef45d92c2
Merge pull request #27755 from ClickHouse/ncb/server_uuid
Merging  #20089
2021-08-19 14:59:18 +03:00
alexey-milovidov
8f280c9ccb
Merge pull request #27829 from ClickHouse/revert-27492-less_clock_gettime2
Revert "less sys calls #2: make vdso work again"
2021-08-19 12:50:50 +03:00
alexey-milovidov
3db3b40b5e
Revert "less sys calls #2: make vdso work again" 2021-08-19 01:38:12 +03:00
Alexander Tokmakov
31d75c9c38 fix split build 2021-08-18 15:15:31 +03:00
Sergei Semin
da3f5612ae rename _Bits -> _bits 2021-08-17 23:08:17 +03:00
Alexander Tokmakov
df1a4e90a8 Merge branch 'master' into ncb/server_uuid 2021-08-17 19:42:47 +03:00
Alexander Tokmakov
4d71f65082 fix build 2021-08-17 16:24:14 +03:00
Alexander Tokmakov
9e9fa043ca minor improvements, add test 2021-08-16 21:30:53 +03:00
Alexey Milovidov
9a4a8d3943 Fix build with clang-13 2021-08-16 03:16:45 +03:00
Alexey Milovidov
f063e44131 Whitespaces 2021-08-15 09:00:28 +03:00
alexey-milovidov
fe356a716e
Merge pull request #27492 from filimonov/less_clock_gettime2
less sys calls #2: make vdso work again
2021-08-13 03:13:11 +03:00
Vitaly Baranov
213e6366c2
Update getauxval.c 2021-08-12 13:44:09 +03:00
Vitaly Baranov
3d9a4adfbf
Better handling case when __environ is null 2021-08-12 13:43:06 +03:00
Maksim Kita
34682c98c7
Merge pull request #27605 from Enmk/fix_27193_toDateTime64_conversion
Fixed parsing DateTime64 value from string.
2021-08-12 13:32:59 +03:00
Vitaly Baranov
9243e89150
Update getauxval.c 2021-08-12 12:10:37 +03:00
Vitaly Baranov
242d8e1861
__auxv_init lazy initialization 2021-08-12 11:06:12 +02:00
Mikhail Filimonov
2c01e2789a
make vdso work again 2021-08-12 11:06:06 +02:00
Vasily Nemkov
bdc4d9fe75 Fixed parsing DateTime64 value from string.
The time offset undeflowed on positive values.
2021-08-12 10:37:46 +03:00
Raúl Marín
8bae14acb1 Separate minute intervals
Instead of mixing multiple rounding, use toStartOfMinuteInterval for all
minute related calculations
2021-08-10 17:01:56 +02:00
Raúl Marín
ede5369265 Revert toMinute changes and add additional roundDown fastpath 2021-08-10 12:55:49 +02:00
Raúl Marín
0771329bf3 Improvements based on review 2021-08-09 16:16:17 +02:00
Raúl Marín
367b314df6 Linter 2021-08-09 15:45:51 +02:00
Raúl Marín
5921f0cc82 Make gcc happy 2021-08-09 15:45:51 +02:00
Raúl Marín
abeaf60e4a Improve compatibility with non-whole-minute timezone offsets 2021-08-09 15:45:51 +02:00
Alexey Milovidov
7fa700de00 Merge branch 'master' into roaring-memory-tracker 2021-08-05 22:17:10 +03:00
alexey-milovidov
44441535ff
Update BaseDaemon.cpp 2021-07-30 09:21:03 +03:00
Nikolai Kochetov
3d029e66fe
Update BaseDaemon.cpp 2021-07-29 17:00:33 +03:00
Nikolai Kochetov
3b8cb7e4bf Print trace from std::terminate exception line-by-line to make it grep easier. 2021-07-29 15:49:31 +03:00
Vitaly Baranov
19d5a6ab2f
Merge pull request #26714 from vitlibar/new-function-current-profiles
New functions currentProfiles(), enabledProfiles(), defaultProfiles().
2021-07-23 09:10:29 +03:00
Vitaly Baranov
7afcc65060 Add new functions currentProfiles(), enabledProfiles(), defaultProfiles(). 2021-07-22 22:20:53 +03:00
Alexey Milovidov
2df3e14559 Attempt to add memory tracking to RoaringBitmaps 2021-07-22 02:56:17 +03:00
Azat Khuzhin
cfc79d9146 Fix history file conversion if file is empty 2021-07-20 21:00:53 +03:00
kssenii
3ba2d114d5 Revert "Merge pull request #26352 from ClickHouse/revert-25774-datatype-date32"
This reverts commit 94a210650f, reversing
changes made to 0893b9ff8e.
2021-07-15 11:41:52 +00:00
alexey-milovidov
9ba4064c86
Revert "Datatype Date32, support range 1925 to 2283" 2021-07-15 10:53:35 +03:00
neng.liu
dfe05ca583 fix test error 2021-07-11 06:14:03 -07:00
neng.liu
4669839fbb add comment and update ya.make 2021-07-11 04:55:42 -07:00
NengLiu
78f0bb9e24 add type cast 2021-07-09 15:28:44 +08:00
NengLiu
1d7d973dea change addWeeks delta's datatype from Int64 to Int32 2021-07-09 11:42:32 +08:00
NengLiu
e172ca240b change addQuarter delta's datatype from Int64 to Int32 2021-07-09 11:35:12 +08:00
neng.liu
e47aadfdef Merge branch 'datatype-date32' of https://github.com/liuneng1994/ClickHouse into datatype-date32 2021-07-08 00:09:48 -07:00
neng.liu
100d30a5ba fix pr comment 2021-07-08 00:06:36 -07:00
NengLiu
8b88988618 Merge branch 'master' into datatype-date32
# Conflicts:
#	src/DataStreams/PostgreSQLBlockInputStream.cpp
2021-07-05 10:18:38 +08:00
NengLiu
dc0c65ef4f Merge remote-tracking branch 'origin/master' into datatype-date32 2021-07-05 10:15:08 +08:00
alexey-milovidov
fef7c557f6
Merge pull request #24789 from kitaisreal/compile-aggregation-functions
Compile aggregate functions
2021-07-05 02:57:49 +03:00
Maksim Kita
55220d49f9 Fixed code review issues 2021-07-03 16:29:32 +03:00
feng lv
1d332da0ed fix special build on clang 11 2021-07-02 05:51:53 +00:00
alexey-milovidov
24759a9b67
Update ReplxxLineReader.cpp 2021-07-02 04:26:49 +03:00
alexey-milovidov
a41a1b7c74
Update ReplxxLineReader.cpp 2021-07-02 04:25:07 +03:00
Maksim Kita
9b71b1040a Aggregate functions update compile interface 2021-07-01 22:56:35 +03:00
Maksim Kita
3fe559b31f Compile aggregate functions 2021-07-01 22:56:35 +03:00
Azat Khuzhin
626f47e044 Convert history file from readline format to replxx format
replxx requires each history line to prepended with time line:

    ### YYYY-MM-DD HH:MM:SS.SSS
    select 1

And w/o those service lines it will load all lines from history file as
one history line for suggestion. And if there are lots of lines in file it
will take lots of time (getline() + tons of reallocations).
2021-06-30 22:06:16 +03:00
NengLiu
00377e7c9b fix style error 2021-06-30 17:29:13 +08:00