Skip to content

Support for multiple includes in XML based configuration#24404

Merged
alexey-milovidov merged 5 commits intoClickHouse:masterfrom
nvartolomei:nv/config-in-place-include
Jul 10, 2021
Merged

Support for multiple includes in XML based configuration#24404
alexey-milovidov merged 5 commits intoClickHouse:masterfrom
nvartolomei:nv/config-in-place-include

Conversation

@nvartolomei
Copy link
Copy Markdown
Contributor

@nvartolomei nvartolomei commented May 21, 2021

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Changelog category (leave one):

  • Improvement

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Support for multiple includes in configuration. It is possible to include users configuration, remote servers configuration from multiple sources. Simply place <include /> element with from_zk, from_env or incl attribute and it will be replaced with the substitution.

@robot-clickhouse robot-clickhouse added the pr-other Pull request with changes not fitting to other categories label May 21, 2021
@nvartolomei nvartolomei marked this pull request as ready for review May 22, 2021 08:09
@nvartolomei
Copy link
Copy Markdown
Contributor Author

Failures unrelated to this pr.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What options are also available? Only "from_zk"?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All regular substitions: from_zk, incl, from_env.

Copy link
Copy Markdown
Member

@alexey-milovidov alexey-milovidov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, but let's also add docs. Otherwise no one will use it.

@alexey-milovidov alexey-milovidov self-assigned this May 24, 2021
@nvartolomei
Copy link
Copy Markdown
Contributor Author

Ok. Will update docs.

@nvartolomei
Copy link
Copy Markdown
Contributor Author

It is possible to get a segfault under some circumstances i don't know how to properly reproduce. Believe a race between loading config and shutdown. Caught while getting a test failure on a different node and likely this was getting shut down.

2021.05.24 15:16:59.307404 [ 53 ] {} <Fatal> BaseDaemon: ########################################
2021.05.24 15:16:59.307432 [ 53 ] {} <Fatal> BaseDaemon: (version 21.7.1.1, build id: 037E7D1FA0CD3DFB) (from thread 44) (no query) Received signal Segmentation fault (11)
2021.05.24 15:16:59.307455 [ 53 ] {} <Fatal> BaseDaemon: Address: 0x10 Access: read. Address not mapped to object.
2021.05.24 15:16:59.307471 [ 53 ] {} <Fatal> BaseDaemon: Stack trace: 0xbbbaf96 0xc9f569a 0xc9f53e3 0xc9bcb3c 0xc9b7413 0xc9b6654 0xc9b695b 0xc9b695b 0xc9b695b 0xc9b9585 0xc9bad0f 0xc9c0025 0xc9c0d3f 0xc9c16da 0x603ae70 0x603d493 0x7f503ce8f609 0x7f503cdb6293
2021.05.24 15:16:59.446957 [ 53 ] {} <Fatal> BaseDaemon: 3. /src/src/Interpreters/Context.cpp:1666: DB::Context::getZooKeeper() const @ 0xbbbaf96 in /usr/bin/clickhouse
2021.05.24 15:16:59.453967 [ 53 ] {} <Fatal> BaseDaemon: 4. /src/contrib/libcxx/include/functional:0: zkutil::ZooKeeperNodeCache::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::function<void (Coordination::WatchResponse const&)>) @ 0xc9f569a in /usr/bin/clickhouse
2021.05.24 15:16:59.465420 [ 53 ] {} <Fatal> BaseDaemon: 5.1. inlined from /src/contrib/libcxx/include/functional:2191: ~__policy_func
2021.05.24 15:16:59.465437 [ 53 ] {} <Fatal> BaseDaemon: 5.2. inlined from /src/contrib/libcxx/include/functional:2547: ~function
2021.05.24 15:16:59.465447 [ 53 ] {} <Fatal> BaseDaemon: 5. /src/src/Common/ZooKeeper/ZooKeeperNodeCache.cpp:26: zkutil::ZooKeeperNodeCache::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<Poco::Event>) @ 0xc9f53e3 in /usr/bin/clickhouse
2021.05.24 15:16:59.498679 [ 53 ] {} <Fatal> BaseDaemon: 6.1. inlined from /src/src/Common/Config/ConfigProcessor.cpp:388: operator()
2021.05.24 15:16:59.498725 [ 53 ] {} <Fatal> BaseDaemon: 6.2. inlined from /src/contrib/libcxx/include/type_traits:3676: decltype(std::__1::forward<DB::ConfigProcessor::doIncludesRecursive(Poco::AutoPtr<Poco::XML::Document>, Poco::AutoPtr<Poco::XML::Document>, Poco::XML::Node*, zkutil::ZooKeeperNodeCache*, std::__1::shared_ptr<Poco::Event> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<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> > > >&)::$_2&>(fp)(std::__1::forward<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(fp0))) std::__1::__invoke<DB::ConfigProcessor::doIncludesRecursive(Poco::AutoPtr<Poco::XML::Document>, Poco::AutoPtr<Poco::XML::Document>, Poco::XML::Node*, zkutil::ZooKeeperNodeCache*, std::__1::shared_ptr<Poco::Event> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<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> > > >&)::$_2&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(DB::ConfigProcessor::doIncludesRecursive(Poco::AutoPtr<Poco::XML::Document>, Poco::AutoPtr<Poco::XML::Document>, Poco::XML::Node*, zkutil::ZooKeeperNodeCache*, std::__1::shared_ptr<Poco::Event> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<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> > > >&)::$_2&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
2021.05.24 15:16:59.498754 [ 53 ] {} <Fatal> BaseDaemon: 6.3. inlined from /src/contrib/libcxx/include/__functional_base:317: Poco::XML::Node const* std::__1::__invoke_void_return_wrapper<Poco::XML::Node const*>::__call<DB::ConfigProcessor::doIncludesRecursive(Poco::AutoPtr<Poco::XML::Document>, Poco::AutoPtr<Poco::XML::Document>, Poco::XML::Node*, zkutil::ZooKeeperNodeCache*, std::__1::shared_ptr<Poco::Event> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<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> > > >&)::$_2&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(DB::ConfigProcessor::doIncludesRecursive(Poco::AutoPtr<Poco::XML::Document>, Poco::AutoPtr<Poco::XML::Document>, Poco::XML::Node*, zkutil::ZooKeeperNodeCache*, std::__1::shared_ptr<Poco::Event> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<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> > > >&)::$_2&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
2021.05.24 15:16:59.498782 [ 53 ] {} <Fatal> BaseDaemon: 6.4. inlined from /src/contrib/libcxx/include/functional:1608: std::__1::__function::__default_alloc_func<DB::ConfigProcessor::doIncludesRecursive(Poco::AutoPtr<Poco::XML::Document>, Poco::AutoPtr<Poco::XML::Document>, Poco::XML::Node*, zkutil::ZooKeeperNodeCache*, std::__1::shared_ptr<Poco::Event> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<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> > > >&)::$_2, Poco::XML::Node const* (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
2021.05.24 15:16:59.498795 [ 53 ] {} <Fatal> BaseDaemon: 6. /src/contrib/libcxx/include/functional:2089: Poco::XML::Node const* std::__1::__function::__policy_invoker<Poco::XML::Node const* (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)>::__call_impl<std::__1::__function::__default_alloc_func<DB::ConfigProcessor::doIncludesRecursive(Poco::AutoPtr<Poco::XML::Document>, Poco::AutoPtr<Poco::XML::Document>, Poco::XML::Node*, zkutil::ZooKeeperNodeCache*, std::__1::shared_ptr<Poco::Event> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<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> > > >&)::$_2, Poco::XML::Node const* (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)> >(std::__1::__function::__policy_storage const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xc9bcb3c in /usr/bin/clickhouse
2021.05.24 15:16:59.520178 [ 53 ] {} <Fatal> BaseDaemon: 7. /src/src/Common/Config/ConfigProcessor.cpp:312: DB::ConfigProcessor::doIncludesRecursive(Poco::AutoPtr<Poco::XML::Document>, Poco::AutoPtr<Poco::XML::Document>, Poco::XML::Node*, zkutil::ZooKeeperNodeCache*, std::__1::shared_ptr<Poco::Event> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<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> > > >&)::$_0::operator()(Poco::XML::Node const*, std::__1::function<Poco::XML::Node const* (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)> const&, char const*) const @ 0xc9b7413 in /usr/bin/clickhouse
2021.05.24 15:16:59.539195 [ 53 ] {} <Fatal> BaseDaemon: 8.1. inlined from /src/contrib/libcxx/include/functional:2191: ~__policy_func
2021.05.24 15:16:59.539227 [ 53 ] {} <Fatal> BaseDaemon: 8.2. inlined from /src/contrib/libcxx/include/functional:2547: ~function
2021.05.24 15:16:59.539241 [ 53 ] {} <Fatal> BaseDaemon: 8. /src/src/Common/Config/ConfigProcessor.cpp:396: DB::ConfigProcessor::doIncludesRecursive(Poco::AutoPtr<Poco::XML::Document>, Poco::AutoPtr<Poco::XML::Document>, Poco::XML::Node*, zkutil::ZooKeeperNodeCache*, std::__1::shared_ptr<Poco::Event> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<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> > > >&) @ 0xc9b6654 in /usr/bin/clickhouse
2021.05.24 15:16:59.559481 [ 53 ] {} <Fatal> BaseDaemon: 9.1. inlined from /src/contrib/poco/Foundation/include/Poco/AutoPtr.h:90: ~AutoPtr
2021.05.24 15:16:59.559514 [ 53 ] {} <Fatal> BaseDaemon: 9. /src/src/Common/Config/ConfigProcessor.cpp:424: DB::ConfigProcessor::doIncludesRecursive(Poco::AutoPtr<Poco::XML::Document>, Poco::AutoPtr<Poco::XML::Document>, Poco::XML::Node*, zkutil::ZooKeeperNodeCache*, std::__1::shared_ptr<Poco::Event> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<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> > > >&) @ 0xc9b695b in /usr/bin/clickhouse
2021.05.24 15:16:59.576478 [ 53 ] {} <Fatal> BaseDaemon: 10.1. inlined from /src/contrib/poco/Foundation/include/Poco/AutoPtr.h:90: ~AutoPtr
2021.05.24 15:16:59.576494 [ 53 ] {} <Fatal> BaseDaemon: 10. /src/src/Common/Config/ConfigProcessor.cpp:424: DB::ConfigProcessor::doIncludesRecursive(Poco::AutoPtr<Poco::XML::Document>, Poco::AutoPtr<Poco::XML::Document>, Poco::XML::Node*, zkutil::ZooKeeperNodeCache*, std::__1::shared_ptr<Poco::Event> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<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> > > >&) @ 0xc9b695b in /usr/bin/clickhouse
2021.05.24 15:16:59.594192 [ 53 ] {} <Fatal> BaseDaemon: 11.1. inlined from /src/contrib/poco/Foundation/include/Poco/AutoPtr.h:90: ~AutoPtr
2021.05.24 15:16:59.594213 [ 53 ] {} <Fatal> BaseDaemon: 11. /src/src/Common/Config/ConfigProcessor.cpp:424: DB::ConfigProcessor::doIncludesRecursive(Poco::AutoPtr<Poco::XML::Document>, Poco::AutoPtr<Poco::XML::Document>, Poco::XML::Node*, zkutil::ZooKeeperNodeCache*, std::__1::shared_ptr<Poco::Event> const&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<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> > > >&) @ 0xc9b695b in /usr/bin/clickhouse
2021.05.24 15:16:59.616949 [ 53 ] {} <Fatal> BaseDaemon: 12.1. inlined from /src/contrib/poco/Foundation/include/Poco/AutoPtr.h:90: ~AutoPtr
2021.05.24 15:16:59.616968 [ 53 ] {} <Fatal> BaseDaemon: 12. /src/src/Common/Config/ConfigProcessor.cpp:552: DB::ConfigProcessor::processConfig(bool*, zkutil::ZooKeeperNodeCache*, std::__1::shared_ptr<Poco::Event> const&) @ 0xc9b9585 in /usr/bin/clickhouse
2021.05.24 15:16:59.641136 [ 53 ] {} <Fatal> BaseDaemon: 13.1. inlined from /src/contrib/poco/Foundation/include/Poco/AutoPtr.h:119: Poco::AutoPtr<Poco::XML::Document>::assign(Poco::AutoPtr<Poco::XML::Document> const&)
2021.05.24 15:16:59.641157 [ 53 ] {} <Fatal> BaseDaemon: 13.2. inlined from /src/contrib/poco/Foundation/include/Poco/AutoPtr.h:174: Poco::AutoPtr<Poco::XML::Document>::operator=(Poco::AutoPtr<Poco::XML::Document> const&)
2021.05.24 15:16:59.641167 [ 53 ] {} <Fatal> BaseDaemon: 13. /src/src/Common/Config/ConfigProcessor.cpp:614: DB::ConfigProcessor::loadConfigWithZooKeeperIncludes(zkutil::ZooKeeperNodeCache&, std::__1::shared_ptr<Poco::Event> const&, bool) @ 0xc9bad0f in /usr/bin/clickhouse
2021.05.24 15:16:59.651693 [ 53 ] {} <Fatal> BaseDaemon: 14.1. inlined from /src/contrib/poco/Foundation/include/Poco/AutoPtr.h:118: Poco::AutoPtr<Poco::Util::AbstractConfiguration>::assign(Poco::AutoPtr<Poco::Util::AbstractConfiguration> const&)
2021.05.24 15:16:59.651711 [ 53 ] {} <Fatal> BaseDaemon: 14.2. inlined from /src/contrib/poco/Foundation/include/Poco/AutoPtr.h:174: Poco::AutoPtr<Poco::Util::AbstractConfiguration>::operator=(Poco::AutoPtr<Poco::Util::AbstractConfiguration> const&)
2021.05.24 15:16:59.651722 [ 53 ] {} <Fatal> BaseDaemon: 14.3. inlined from /src/src/Common/Config/ConfigProcessor.h:75: DB::ConfigProcessor::LoadedConfig::operator=(DB::ConfigProcessor::LoadedConfig&&)
2021.05.24 15:16:59.651731 [ 53 ] {} <Fatal> BaseDaemon: 14. /src/src/Common/Config/ConfigReloader.cpp:95: DB::ConfigReloader::reloadIfNewer(bool, bool, bool, bool) @ 0xc9c0025 in /usr/bin/clickhouse
2021.05.24 15:16:59.665015 [ 53 ] {} <Fatal> BaseDaemon: 15. /src/src/Common/Config/ConfigReloader.cpp:69: DB::ConfigReloader::run() @ 0xc9c0d3f in /usr/bin/clickhouse
2021.05.24 15:16:59.677205 [ 53 ] {} <Fatal> BaseDaemon: 16. /src/contrib/libcxx/include/type_traits:0: ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ConfigReloader::*)(), DB::ConfigReloader*>(void (DB::ConfigReloader::*&&)(), DB::ConfigReloader*&&)::'lambda'()::operator()() @ 0xc9c16da in /usr/bin/clickhouse
2021.05.24 15:16:59.685655 [ 53 ] {} <Fatal> BaseDaemon: 17.1. inlined from /src/contrib/libcxx/include/functional:2210: std::__1::__function::__policy_func<void ()>::operator=(std::nullptr_t)
2021.05.24 15:16:59.685671 [ 53 ] {} <Fatal> BaseDaemon: 17.2. inlined from /src/contrib/libcxx/include/functional:2533: std::__1::function<void ()>::operator=(std::nullptr_t)
2021.05.24 15:16:59.685680 [ 53 ] {} <Fatal> BaseDaemon: 17. /src/src/Common/ThreadPool.cpp:257: ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x603ae70 in /usr/bin/clickhouse
2021.05.24 15:16:59.695318 [ 53 ] {} <Fatal> BaseDaemon: 18.1. inlined from /src/contrib/libcxx/include/memory:1655: std::__1::unique_ptr<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'()>, std::__1::default_delete<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'()> > >::reset(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'()>*)
2021.05.24 15:16:59.695357 [ 53 ] {} <Fatal> BaseDaemon: 18.2. inlined from /src/contrib/libcxx/include/memory:1612: ~unique_ptr
2021.05.24 15:16:59.695366 [ 53 ] {} <Fatal> BaseDaemon: 18. /src/contrib/libcxx/include/thread:293: 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*) @ 0x603d493 in /usr/bin/clickhouse
2021.05.24 15:16:59.695398 [ 53 ] {} <Fatal> BaseDaemon: 19. start_thread @ 0x9609 in /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
2021.05.24 15:16:59.695418 [ 53 ] {} <Fatal> BaseDaemon: 20. clone @ 0x122293 in /usr/lib/x86_64-linux-gnu/libc-2.31.so

@nvartolomei
Copy link
Copy Markdown
Contributor Author

@alexey-milovidov thoughts? Updated docs and added additional tests.

@alexey-milovidov
Copy link
Copy Markdown
Member

The query SELECT untuple(tuple(100.0000991821289)), NULL, untuple((toDateTime(9223372036854775806, -1, NULL, NULL, toDateTime(NULL, NULL)), * EXCEPT b)), NULL FROM (SELECT 1 AS a, 1024, NULL AS b) is reading uninitialized memory.

@alexey-milovidov
Copy link
Copy Markdown
Member

We have to fix this issue before mering your PR.

@nvartolomei
Copy link
Copy Markdown
Contributor Author

@alexey-milovidov help me understand why this is related to this PR. It doesn't seem to me. Let me know how can I help getting this merged faster :)

@nvartolomei
Copy link
Copy Markdown
Contributor Author

@alexey-milovidov any info on this one?

@alexey-milovidov
Copy link
Copy Markdown
Member

@Mergifyio update

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Jul 10, 2021

Command update: failure

Base branch update has failed
head repository does not exist
err-code: E9578

<profiles from_zk="/profiles-in-zookeeper" />

<users>
<!-- Replaces `include` element with hte subtree found at `/users-in-zookeeper` ZK path. -->
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hte -> the


if (substs_count < SUBSTITUTION_ATTRS.size() - 1) /// only one substitution is allowed
if (substs_count > 1) /// only one substitution is allowed
throw Poco::Exception("several substitutions attributes set for element <" + node->nodeName() + ">");
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

several -> Several

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or, better: More than one

if (node->hasChildNodes())
throw Poco::Exception("<include> element must have no children");
if (substs_count == 0)
throw Poco::Exception("no substitution attributes set for element <include>, must have one");
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to edit this PR inplace but it's not allowed in your repository...

Copy link
Copy Markdown
Member

@alexey-milovidov alexey-milovidov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@alexey-milovidov alexey-milovidov merged commit 7a1a184 into ClickHouse:master Jul 10, 2021
alexey-milovidov added a commit that referenced this pull request Jul 10, 2021
alexey-milovidov added a commit that referenced this pull request Jul 10, 2021
alexey-milovidov added a commit that referenced this pull request Jul 10, 2021
robot-clickhouse pushed a commit that referenced this pull request Jul 10, 2021
robot-clickhouse pushed a commit that referenced this pull request Jul 10, 2021
robot-clickhouse pushed a commit that referenced this pull request Jul 10, 2021
robot-clickhouse pushed a commit that referenced this pull request Jul 10, 2021
alexey-milovidov added a commit that referenced this pull request Jul 11, 2021
alexey-milovidov added a commit that referenced this pull request Jul 11, 2021
alexey-milovidov added a commit that referenced this pull request Jul 11, 2021
alexey-milovidov added a commit that referenced this pull request Jul 11, 2021
@gyuton
Copy link
Copy Markdown
Contributor

gyuton commented Jul 15, 2021

Internal documentation ticket: DOCSUP-11587.

alexey-milovidov pushed a commit that referenced this pull request Aug 24, 2021
This tries to fix crash reported in a comment
#24404 (comment).
zhanglistar pushed a commit to zhanglistar/ClickHouse that referenced this pull request Nov 12, 2021
zhanglistar pushed a commit to zhanglistar/ClickHouse that referenced this pull request Nov 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-other Pull request with changes not fitting to other categories

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants