Skip to content

Memory leak in azure sdk when blob storage is not available #45830

@CurtizJ

Description

@CurtizJ

Describe the bug
Report from LSan:

=================================================================
==2616282==ERROR: LeakSanitizer: detected memory leaks

Indirect leak of 42560 byte(s) in 8 object(s) allocated from:
    #0 0xe933918 in calloc (/usr/bin/clickhouse+0xe933918) (BuildId: 96c9fff1cd2835ef65d3c552ed40c6420e8978e2)
    #1 0x3e263bb8 in Curl_open (/usr/bin/clickhouse+0x3e263bb8) (BuildId: 96c9fff1cd2835ef65d3c552ed40c6420e8978e2)
    #2 0x3e25f5d6 in curl_easy_init (/usr/bin/clickhouse+0x3e25f5d6) (BuildId: 96c9fff1cd2835ef65d3c552ed40c6420e8978e2)
    #3 0x3e2fc3f5 in Curl_conncache_init (/usr/bin/clickhouse+0x3e2fc3f5) (BuildId: 96c9fff1cd2835ef65d3c552ed40c6420e8978e2)
    #4 0x3e2ba758 in Curl_multi_handle (/usr/bin/clickhouse+0x3e2ba758) (BuildId: 96c9fff1cd2835ef65d3c552ed40c6420e8978e2)
    #5 0x3e25f866 in curl_easy_perform (/usr/bin/clickhouse+0x3e25f866) (BuildId: 96c9fff1cd2835ef65d3c552ed40c6420e8978e2)
    #6 0x3dfbea50 in Azure::Core::Http::_detail::CurlConnectionPool::ExtractOrCreateCurlConnection(Azure::Core::Http::Request&, Azure::Core::Http::CurlTransportOptions const&, bool) build_docker/../contrib/azure/sdk/core/azure-core/src/http/curl/curl.cpp:1425:24
    #7 0x3dfbb959 in Azure::Core::Http::CurlTransport::Send(Azure::Core::Http::Request&, Azure::Core::Context const&) build_docker/../contrib/azure/sdk/core/azure-core/src/http/curl/curl.cpp:289:48
    #8 0x3dfa9da1 in Azure::Core::Http::Policies::_internal::TransportPolicy::Send(Azure::Core::Http::Request&, Azure::Core::Http::Policies::NextHttpPolicy, Azure::Core::Context const&) const build_docker/../contrib/azure/sdk/core/azure-core/src/http/transport_policy.cpp:60:40
    #9 0x3df9ea1e in Azure::Core::Http::Policies::_internal::LogPolicy::Send(Azure::Core::Http::Request&, Azure::Core::Http::Policies::NextHttpPolicy, Azure::Core::Context const&) const build_docker/../contrib/azure/sdk/core/azure-core/src/http/log_policy.cpp:172:23
    #10 0x3e0a2435 in Azure::Storage::_internal::SharedKeyPolicy::Send(Azure::Core::Http::Request&, Azure::Core::Http::Policies::NextHttpPolicy, Azure::Core::Context const&) const build_docker/../contrib/azure/sdk/storage/azure-storage-common/inc/azure/storage/common/internal/shared_key_policy.hpp:36:25
    #11 0x3e259fee in Azure::Storage::_internal::StoragePerRetryPolicy::Send(Azure::Core::Http::Request&, Azure::Core::Http::Policies::NextHttpPolicy, Azure::Core::Context const&) const build_docker/../contrib/azure/sdk/storage/azure-storage-common/src/storage_per_retry_policy.cpp:48:23
    #12 0x3e25b2cb in Azure::Storage::_internal::StorageSwitchToSecondaryPolicy::Send(Azure::Core::Http::Request&, Azure::Core::Http::Policies::NextHttpPolicy, Azure::Core::Context const&) const build_docker/../contrib/azure/sdk/storage/azure-storage-common/src/storage_switch_to_secondary_policy.cpp:36:32
    #13 0x3e011918 in Azure::Core::Http::Policies::_internal::RetryPolicy::Send(Azure::Core::Http::Request&, Azure::Core::Http::Policies::NextHttpPolicy, Azure::Core::Context const&) const build_docker/../contrib/azure/sdk/core/azure-core/src/http/retry_policy.cpp:134:34
    #14 0x3e017166 in Azure::Core::Http::Policies::_internal::TelemetryPolicy::Send(Azure::Core::Http::Request&, Azure::Core::Http::Policies::NextHttpPolicy, Azure::Core::Context const&) const build_docker/../contrib/azure/sdk/core/azure-core/src/http/telemetry_policy.cpp:166:21
    #15 0x3e00f2d1 in Azure::Core::Http::Policies::_internal::RequestIdPolicy::Send(Azure::Core::Http::Request&, Azure::Core::Http::Policies::NextHttpPolicy, Azure::Core::Context const&) const build_docker/../contrib/azure/sdk/core/azure-core/inc/azure/core/http/policies/policy.hpp:373:27
    #16 0x3e0a2c86 in Azure::Storage::_internal::StorageServiceVersionPolicy::Send(Azure::Core::Http::Request&, Azure::Core::Http::Policies::NextHttpPolicy, Azure::Core::Context const&) const build_docker/../contrib/azure/sdk/storage/azure-storage-common/inc/azure/storage/common/internal/storage_service_version_policy.hpp:31:25
    #17 0x3e13ef86 in Azure::Core::Http::_internal::HttpPipeline::Send(Azure::Core::Http::Request&, Azure::Core::Context const&) const build_docker/../contrib/azure/sdk/core/azure-core/inc/azure/core/internal/http/pipeline.hpp:186:29
    #18 0x3e13ef86 in Azure::Storage::Blobs::_detail::BlobRestClient::Service::ListBlobContainers(Azure::Core::Http::_internal::HttpPipeline&, Azure::Core::Url const&, Azure::Storage::Blobs::_detail::BlobRestClient::Service::ListBlobContainersOptions const&, Azure::Core::Context const&) build_docker/../contrib/azure/sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/protocol/blob_rest_client.hpp:3003:41
    #19 0x3e137d77 in Azure::Storage::Blobs::BlobServiceClient::ListBlobContainers(Azure::Storage::Blobs::ListBlobContainersOptions const&, Azure::Core::Context const&) const build_docker/../contrib/azure/sdk/storage/azure-storage-blobs/src/blob_service_client.cpp:131:21
    #20 0x2f4fe89d in DB::getAzureBlobContainerClient(Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) build_docker/../src/Disks/ObjectStorages/AzureBlobStorage/AzureBlobStorageAuth.cpp:133:53
    #21 0x2f4f7986 in DB::registerDiskAzureBlobStorage(DB::DiskFactory&, bool)::$_0::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context const>, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__
1::shared_ptr<DB::IDisk>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::alloc
ator<char>> const, std::__1::shared_ptr<DB::IDisk>>>> const&) const build_docker/../src/Disks/ObjectStorages/AzureBlobStorage/registerDiskAzureBlobStorage.cpp:31:13
    #22 0x2f4f7986 in decltype(std::declval<DB::registerDiskAzureBlobStorage(DB::DiskFactory&, bool)::$_0&>()(std::declval<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&>(), std::declval<Poco
::Util::AbstractConfiguration const&>(), std::declval<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&>(), std::declval<std::__1::shared_ptr<DB::Context const>>(), std::declval<std::__1::map<st
d::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::IDisk>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocat
or<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::shared_ptr<DB::IDisk>>>> const&>())) std::__1::__invoke[abi:v15000]<DB::registerDiskAzureBlobStorage(DB::DiskFactory
&, bool)::$_0&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>
const&, std::__1::shared_ptr<DB::Context const>, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::IDisk>, std::__1::less<std::__1::basic_string<char, std::__1::
char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::shared_ptr<DB::IDisk>>>> const&>(DB::registerDiskAz
ureBlobStorage(DB::DiskFactory&, bool)::$_0&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char
>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context const>&&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::IDisk>, std::__1::less<std::__
1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::shared_ptr<DB::IDis
k>>>> const&) build_docker/../contrib/llvm-project/libcxx/include/__functional/invoke.h:394:23
    #23 0x2f4f7986 in std::__1::shared_ptr<DB::IDisk> std::__1::__invoke_void_return_wrapper<std::__1::shared_ptr<DB::IDisk>, false>::__call<DB::registerDiskAzureBlobStorage(DB::DiskFactory&, bool)::$_0&, std::__1::basic_string<char, st
d::__1::char_traits<char>, std::__1::allocator<char>> const&, Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context const>
, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::IDisk>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>,
 std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::shared_ptr<DB::IDisk>>>> const&>(DB::registerDiskAzureBlobStorage(DB::DiskFactory&, bool)::$_0&, s
td::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1:
:shared_ptr<DB::Context const>&&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::IDisk>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<cha
r>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::shared_ptr<DB::IDisk>>>> const&) build_docker/../contrib/llvm-proj
ect/libcxx/include/__functional/invoke.h:470:16
    #24 0x2f4f7986 in std::__1::__function::__default_alloc_func<DB::registerDiskAzureBlobStorage(DB::DiskFactory&, bool)::$_0, std::__1::shared_ptr<DB::IDisk> (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocat
or<char>> const&, Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context const>, std::__1::map<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::IDisk>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1
::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::shared_ptr<DB::IDisk>>>> const&)>::operator()[abi:v15000](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>
 const&, Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context const>&&, std::__1::map<std::__1::basic_string<char, std::_
_1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::IDisk>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic
_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::shared_ptr<DB::IDisk>>>> const&) build_docker/../contrib/llvm-project/libcxx/include/__functional/function.h:235:12
    #25 0x2f4f7986 in std::__1::shared_ptr<DB::IDisk> std::__1::__function::__policy_invoker<std::__1::shared_ptr<DB::IDisk> (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, Poco::Util::Abstr
actConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context const>, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::
__1::allocator<char>>, std::__1::shared_ptr<DB::IDisk>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char
_traits<char>, std::__1::allocator<char>> const, std::__1::shared_ptr<DB::IDisk>>>> const&)>::__call_impl<std::__1::__function::__default_alloc_func<DB::registerDiskAzureBlobStorage(DB::DiskFactory&, bool)::$_0, std::__1::shared_ptr<DB:
:IDisk> (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&,
 std::__1::shared_ptr<DB::Context const>, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::IDisk>, std::__1::less<std::__1::basic_string<char, std::__1::char_tr
aits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::shared_ptr<DB::IDisk>>>> const&)>>(std::__1::__function::_
_policy_storage const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator
<char>> const&, std::__1::shared_ptr<DB::Context const>&&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::IDisk>, std::__1::less<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::shared_ptr<DB::IDisk>>>> const&) build_do
cker/../contrib/llvm-project/libcxx/include/__functional/function.h:716:16
    #26 0x2f36dfc1 in std::__1::__function::__policy_func<std::__1::shared_ptr<DB::IDisk> (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, Poco::Util::AbstractConfiguration const&, std::__1::
basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context const>, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::sh
ared_ptr<DB::IDisk>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<
char>> const, std::__1::shared_ptr<DB::IDisk>>>> const&)>::operator()[abi:v15000](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, Poco::Util::AbstractConfiguration const&, std::__1::basic_str
ing<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context const>&&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_pt
r<DB::IDisk>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>
const, std::__1::shared_ptr<DB::IDisk>>>> const&) const build_docker/../contrib/llvm-project/libcxx/include/__functional/function.h:848:16
    #27 0x2f36dfc1 in std::__1::function<std::__1::shared_ptr<DB::IDisk> (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char
, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context const>, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::IDis
k>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std
::__1::shared_ptr<DB::IDisk>>>> const&)>::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_trai
ts<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context const>, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::IDisk>, std::__1::less<st
d::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::shared_ptr<DB:
:IDisk>>>> const&) const build_docker/../contrib/llvm-project/libcxx/include/__functional/function.h:1187:12
    #28 0x2f36dfc1 in DB::DiskFactory::create(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char
>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context const>, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::IDisk>, std::__1::less<std::__1:
:basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::shared_ptr<DB::IDisk>
>>> const&) const build_docker/../src/Disks/DiskFactory.cpp:37:12
    #29 0x2f94fd16 in DB::DiskSelector::initialize(Poco::Util::AbstractConfiguration const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::shared_ptr<DB::Context const>) build_doc
ker/../src/Disks/DiskSelector.cpp:49:42
    #30 0x2f8a7781 in DB::Context::getDiskSelector(std::__1::lock_guard<std::__1::mutex>&) const build_docker/../src/Interpreters/Context.cpp:2997:24
    #31 0x2f8659d0 in DB::Context::getStoragePolicySelector(std::__1::lock_guard<std::__1::mutex>&) const build_docker/../src/Interpreters/Context.cpp:3010:115
    #32 0x2f8a7d1b in DB::Context::getStoragePolicy(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const build_docker/../src/Interpreters/Context.cpp:2971:28
    #33 0x33c64775 in DB::MergeTreeData::getStoragePolicy() const build_docker/../src/Storages/MergeTree/MergeTreeData.cpp:378:26
    #34 0x33c5825f in DB::MergeTreeData::getDisks() const build_docker/../src/Storages/MergeTree/MergeTreeData.h:901:37
    #35 0x33c5825f in DB::MergeTreeData::initializeDirectoriesAndFormatVersion(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool, std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>> const&, bool) build_docker/../src/Storages/MergeTree/MergeTreeData.cpp:215:30
    #36 0x3444e868 in DB::StorageMergeTree::StorageMergeTree(DB::StorageID const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, DB::StorageInMemoryMetadata const&, bool, std::__1::shared_p
tr<DB::Context>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, DB::MergeTreeData::MergingParams const&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSet
tings>>, bool) build_docker/../src/Storages/StorageMergeTree.cpp:105:5
    #37 0x3444d4dd in DB::StorageMergeTree* std::__1::construct_at[abi:v15000]<DB::StorageMergeTree, DB::StorageID const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, DB::StorageInMemoryM
etadata&, bool const&, std::__1::shared_ptr<DB::Context>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, DB::MergeTreeData::MergingParams&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::de
fault_delete<DB::MergeTreeSettings>>, bool const&, DB::StorageMergeTree*>(DB::StorageMergeTree*, DB::StorageID const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, DB::StorageInMemoryMetad
ata&, bool const&, std::__1::shared_ptr<DB::Context>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, DB::MergeTreeData::MergingParams&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::defa
ult_delete<DB::MergeTreeSettings>>&&, bool const&) build_docker/../contrib/llvm-project/libcxx/include/__memory/construct_at.h:35:48
    #38 0x3444d4dd in void std::__1::allocator_traits<std::__1::allocator<DB::StorageMergeTree>>::construct[abi:v15000]<DB::StorageMergeTree, DB::StorageID const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allo
cator<char>> const&, DB::StorageInMemoryMetadata&, bool const&, std::__1::shared_ptr<DB::Context>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, DB::MergeTreeData::MergingParams&, std::__1::uniqu
e_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings>>, bool const&, void, void>(std::__1::allocator<DB::StorageMergeTree>&, DB::StorageMergeTree*, DB::StorageID const&, std::__1::basic_string<char, std::__1::char
_traits<char>, std::__1::allocator<char>> const&, DB::StorageInMemoryMetadata&, bool const&, std::__1::shared_ptr<DB::Context>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, DB::MergeTreeData::
MergingParams&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings>>&&, bool const&) build_docker/../contrib/llvm-project/libcxx/include/__memory/allocator_traits.h:298:9
    #39 0x3444d4dd in std::__1::__shared_ptr_emplace<DB::StorageMergeTree, std::__1::allocator<DB::StorageMergeTree>>::__shared_ptr_emplace[abi:v15000]<DB::StorageID const&, std::__1::basic_string<char, std::__1::char_traits<char>, std:
:__1::allocator<char>> const&, DB::StorageInMemoryMetadata&, bool const&, std::__1::shared_ptr<DB::Context>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, DB::MergeTreeData::MergingParams&, std::
__1::unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings>>, bool const&>(std::__1::allocator<DB::StorageMergeTree>, DB::StorageID const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::a
llocator<char>> const&, DB::StorageInMemoryMetadata&, bool const&, std::__1::shared_ptr<DB::Context>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, DB::MergeTreeData::MergingParams&, std::__1::
unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings>>&&, bool const&) build_docker/../contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:292:9
    #40 0x3444d4dd in std::__1::shared_ptr<DB::StorageMergeTree> std::__1::allocate_shared[abi:v15000]<DB::StorageMergeTree, std::__1::allocator<DB::StorageMergeTree>, DB::StorageID const&, std::__1::basic_string<char, std::__1::char_tr
aits<char>, std::__1::allocator<char>> const&, DB::StorageInMemoryMetadata&, bool const&, std::__1::shared_ptr<DB::Context>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, DB::MergeTreeData::Mergi
ngParams&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings>>, bool const&, void>(std::__1::allocator<DB::StorageMergeTree> const&, DB::StorageID const&, std::__1::basic_string<char, std::__1::c
har_traits<char>, std::__1::allocator<char>> const&, DB::StorageInMemoryMetadata&, bool const&, std::__1::shared_ptr<DB::Context>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&, DB::MergeTreeDat
a::MergingParams&, std::__1::unique_ptr<DB::MergeTreeSettings, std::__1::default_delete<DB::MergeTreeSettings>>&&, bool const&) build_docker/../contrib/llvm-project/libcxx/include/__memory/shared_ptr.h:953:55

How to reproduce
Create a configuration with disk with type azure_blob_storage and unavailable blob storage and run clickhouse. Example of configuration:

<storage_configuration>
    <disks>
        <default>
        </default>
        <azure>
            <type>azure_blob_storage</type>
            <storage_account_url>http://localhost:10033/sample</storage_account_url>
            <container_name>cont</container_name>
            <skip_access_check>false</skip_access_check>
            <account_name>sample</account_name>
            <account_key>sdfsdfsdfsdf</account_key>
            <max_single_part_upload_size>33554432</max_single_part_upload_size>
        </azure>
    </disks>
    <policies>
        <default>
            <volumes>
                <main>
                    <disk>default</disk>
                </main>
            </volumes>
        </default>
        <azure>
            <volumes>
                <main>
                    <disk>azure</disk>
                </main>
            </volumes>
        </azure>
    </policies>
</storage_configuration>

<merge_tree>
    <storage_policy>default</storage_policy>
</merge_tree>

Metadata

Metadata

Assignees

Labels

testingSpecial issue with list of bugs found by CI

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions