Commit Graph

61762 Commits

Author SHA1 Message Date
Azat Khuzhin
b25a4e066c Lock MEMORY_LIMIT_EXCEEDED in ThreadStatus::detachQuery()
Found with fuzzer [1]:

    <Fatal> BaseDaemon: (version 21.5.1.6440, build id: 3B097C902DDAA35688D90750552ED499DC5D10A0) (from thread 8012) Terminate called for uncaught exception:
    Code: 241, e.displayText() = DB::Exception: Memory limit (for user) exceeded: would use 153.51 MiB (attempt to allocate chunk of 4194368 bytes), maximum: 150.00 MiB, Stack trace (when copying this message, always include the lines below):

    0. ./obj-x86_64-linux-gnu/../contrib/libcxx/include/exception:133: Poco::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x26fdcdd9 in /usr/bin/clickhouse
    1. ./obj-x86_64-linux-gnu/../src/Common/Exception.cpp:57: DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, bool) @ 0xad0df02 in /usr/bin/clickhouse
    2. ./obj-x86_64-linux-gnu/../contrib/libcxx/include/string:1444: DB::Exception::Exception<char const*, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, long&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*&&, char const*&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, long&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&) @ 0xacc7bef in /usr/bin/clickhouse
    3. ./obj-x86_64-linux-gnu/../src/Common/MemoryTracker.cpp:219: MemoryTracker::alloc(long) @ 0xacc65eb in /usr/bin/clickhouse
    4. ./obj-x86_64-linux-gnu/../src/Common/MemoryTracker.cpp:0: MemoryTracker::alloc(long) @ 0xacc5dad in /usr/bin/clickhouse
    5. ./obj-x86_64-linux-gnu/../src/Common/MemoryTracker.cpp:0: MemoryTracker::alloc(long) @ 0xacc5dad in /usr/bin/clickhouse
    6. ./obj-x86_64-linux-gnu/../src/Common/AllocatorWithMemoryTracking.h:35: AllocatorWithMemoryTracking<DB::Field>::allocate(unsigned long) @ 0xad0a2fe in /usr/bin/clickhouse
    7. void std::__1::vector<DB::Field, AllocatorWithMemoryTracking<DB::Field> >::__push_back_slow_path<DB::Field>(DB::Field&&) @ 0x11712a51 in /usr/bin/clickhouse
    8. ./obj-x86_64-linux-gnu/../src/Interpreters/ThreadStatusExt.cpp:356: DB::ThreadStatus::detachQuery(bool, bool) @ 0x1f5d5237 in /usr/bin/clickhouse
    9. ./obj-x86_64-linux-gnu/../src/Processors/Executors/PipelineExecutor.cpp:0: void std::__1::__function::__policy_invoker<void ()>::__call_impl<std::__1::__function::__default_alloc_func<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::PipelineExecutor::executeImpl(unsigned long)::$_4>(DB::PipelineExecutor::executeImpl(unsigned long)::$_4&&)::'lambda'(), void ()> >(std::__1::__function::__policy_storage const*) @ 0x20c488e6 in /usr/bin/clickhouse
    10. ./obj-x86_64-linux-gnu/../contrib/libcxx/include/functional:0: ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0xad9f6cc in /usr/bin/clickhouse
    11. ./obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:1655: void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()> >(void*) @ 0xada8264 in /usr/bin/clickhouse
    12. start_thread @ 0x9609 in /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
    13. __clone @ 0x122293 in /usr/lib/x86_64-linux-gnu/libc-2.31.so
     (version 21.5.1.6440)

  [1]: https://clickhouse-test-reports.s3.yandex.net/22583/69296876005c0fa171c755f8b224e4d58192c402/stress_test_(address).html#fail1
2021-04-06 21:10:36 +03:00
kssenii
5a143a4d12 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into nanodbc 2021-04-06 16:50:13 +00:00
Nikolai Kochetov
e7e17adc64
Update CHANGELOG.md 2021-04-06 19:46:47 +03:00
Alexander Kuzmenkov
f968f6bab6 return prlimit for gcc, it was not its fault 2021-04-06 19:46:24 +03:00
alesapin
95881bf2dd Fix duplicated headers 2021-04-06 19:31:24 +03:00
Alexander Kuzmenkov
d9ad06bd6d fix ubsan 2021-04-06 19:24:56 +03:00
alesapin
80d441ec95 Reset timeouts to default 2021-04-06 19:11:29 +03:00
ana-uvarova
f328bc3f09 Draft. 2021-04-06 17:37:36 +03:00
alesapin
b4fc13de8e fix style 2021-04-06 17:02:56 +03:00
alesapin
4633afe962 Some fixes 2021-04-06 16:56:14 +03:00
alexey-milovidov
d2d4a3d796
Merge pull request #22709 from bun4uk/bun4uk-patch-1
Add Third party service info
2021-04-06 16:56:07 +03:00
Vladimir Bunchuk
23c675e6dc
Add Third party service info 2021-04-06 16:43:09 +03:00
alesapin
d913f327ed Buildable code 2021-04-06 16:42:38 +03:00
alesapin
1c8e33414f Merge branch 'master' into johnskopis/dynamic-interserver-creds-v20 2021-04-06 16:28:46 +03:00
Amos Bird
a89e3df40a
Disable table function view in expression (#21465) 2021-04-06 16:08:29 +03:00
Anton Popov
f9b1661372 fix test 01702_system_query_log 2021-04-06 15:44:06 +03:00
alesapin
a40209e84d Remove strange fsync on coordination logs rotation 2021-04-06 15:25:15 +03:00
Alexander Kuzmenkov
585da2c8d0 Merge remote-tracking branch 'origin/master' into HEAD 2021-04-06 14:58:21 +03:00
Alexander Kuzmenkov
4497b00ff5 the test 2021-04-06 14:57:32 +03:00
alexey-milovidov
3708821689
Merge pull request #22655 from azat/system.errors-invalid-read
Fix impossible invalid-read for system.errors accounting
2021-04-06 14:48:33 +03:00
alexey-milovidov
e1e2f534e8
Merge pull request #22646 from azat/clickhouse-test-log-comment
Add log_comment setting for DROP/CREATE DATABASE in clickhouse-test
2021-04-06 14:48:04 +03:00
Alexander Kuzmenkov
06e7a9f8f2 fix window functions with multiple input streams and no sorting 2021-04-06 14:43:27 +03:00
alexey-milovidov
bee6cddb95
Merge pull request #22656 from mastertheknife/allow_unbundled_xz_lzma
Skip compiling xz if we're using system xz (unbundled)
2021-04-06 14:41:18 +03:00
alexey-milovidov
636fe8b631
Merge pull request #22662 from vitlibar/fix-test-01294_create_settings_profile
Fix test 01294_create_settings_profile
2021-04-06 14:40:28 +03:00
Anton Popov
a9a01df74a add test 2021-04-06 14:38:35 +03:00
Alexander Kuzmenkov
29cf5bd712 Merge remote-tracking branch 'origin/master' into HEAD 2021-04-06 14:31:19 +03:00
Anton Popov
c05c1f7a34
Merge pull request #22666 from CurtizJ/fix-flaky-tests-1
Fix random failures of tests that are using query_log
2021-04-06 14:22:26 +03:00
Maksim Kita
af19f89273 MemoryStorage sync comments and code 2021-04-06 13:41:48 +03:00
Nikolai Kochetov
6102652c99 Merge branch 'master' into better-filter-push-down 2021-04-06 13:38:03 +03:00
Kseniia Sumarokova
ad85467128
Merge pull request #22668 from kssenii/postgres-add-bool
Add bool type in postgres engine
2021-04-06 13:29:33 +03:00
alesapin
3148c224ad
Merge pull request #22663 from CurtizJ/fix-flakey-tests
Fix test 01039_row_policy_dcl
2021-04-06 13:19:08 +03:00
alesapin
53a7836a9b Fix typos 2021-04-06 13:16:34 +03:00
Alexander Kuzmenkov
4402ec3101
Merge pull request #22324 from ClickHouse/aku/perf-stable
make some perf test queries more stable
2021-04-06 13:15:38 +03:00
alesapin
6456a1507c Support alter setting 2021-04-06 13:14:44 +03:00
Alexander Kuzmenkov
c7776fefc0
Merge pull request #22110 from excitoon-favorites/testfinalize
Better tests for finalize in nested writers
2021-04-06 12:49:14 +03:00
vdimir
735154c81a
Handle not plain where tree in StorageMerge modifySelect 2021-04-06 12:29:29 +03:00
alesapin
86a843bb51
Merge pull request #21509 from kssenii/library-bridge
clickhouse-library-bridge for library dictionary source
2021-04-06 12:26:08 +03:00
Nikolai Kochetov
44700d97e9 Add setting to disable query plan optimization. Fix perftest. 2021-04-06 11:25:54 +03:00
Maksim Kita
0cbfa5d125 Updated test 2021-04-06 11:19:28 +03:00
alesapin
6afa8abb0e Merge branch 'master' into merge_tree_deduplication 2021-04-06 11:17:18 +03:00
tavplubix
8b1d320633
Merge pull request #22217 from kssenii/replicas-shards-for-mysql-and-postgres
Replicas and shards for mysql and postgres storages
2021-04-06 11:05:24 +03:00
alesapin
3cd571f92b
Merge pull request #22669 from ClickHouse/fix_two_bugs_with_mutation_wait
Fix two stupid bugs in mutation wait
2021-04-06 11:04:16 +03:00
Kruglov Pavel
ae883829ef
Merge pull request #22687 from Avogar/fix-doc
Change Aggregatingmergetree to AggregatingMergeTree in docs
2021-04-06 10:41:50 +03:00
Pavel Kruglov
cb7efb8efe Change Aggregatingmergetree to AggregatingMergeTree in docs 2021-04-06 10:37:56 +03:00
Pavel Kruglov
033d0da37f Restart CI 2021-04-06 10:28:45 +03:00
alesapin
fbfa53684a
Merge pull request #22670 from ClickHouse/fix_killer_test
Fix mutation killers tests
2021-04-06 10:24:36 +03:00
Denis Krivak
ea563b193c Fix grammar in docs 2021-04-06 10:17:24 +03:00
robot-clickhouse
758cbb0498 Update version_date.tsv after release 20.8.16.20 2021-04-06 10:13:59 +03:00
Azat Khuzhin
27d4fbd13b Compare Block itself for distributed async INSERT batches
INSERT into Distributed with insert_distributed_sync=1 stores the
distributed batches on the disk for sending in background.

But types may be a little bit different for the Distributed and it's
underlying table, so the initiator need to know whether conversion is
required or not.

Before this patch those on disk distributed batches contains header,
which includes dumpStructure() for the block in that batch, however it
checks not only names and types and plus dumpStructure() is a debug
method.

So instead of storing string representation for the block header we
should store empty block in the file header (note, that we cannot store
the empty block not in header, since this will require reading all
blocks from file, due to some trickery of the readers interface).

Note, that this patch also contains tiny refactoring:
- s/header/distributed_header/

v1: dumpNamesAndTypes()
v2: dump empty block into the batch itself
v3: move empty block into the header
2021-04-06 10:05:21 +03:00
alexey-milovidov
cf2931384b
Update adopters.md 2021-04-06 02:07:36 +03:00