Open
Description
Describe the bug
I have one cluster with 3 nodes. 1 shard, 3 copies.
and one of the server failed to restart because of json support error.
Error log
2024.03.18 01:49:09.675782 [ 100 ] {} <Information> default.apisix_log_develop_merged (c656deff-b8e2-4889-823c-04263da0e2ab): Found 18 parts for disk 'default' to load
2024.03.18 01:49:09.760930 [ 1 ] {} <Error> Application: Caught exception while loading metadata: Code: 49. DB::Exception: Least common type for object can be deduced only from tuples, but Object('json') given: Cannot attach table `default`.`apisix_log_develop_merged` from metadata file /var/lib/clickhouse/store/8fe/8feabe48-9789-4cc5-81b3-aadc83cacac4/apisix_log_develop_merged.sql from query ATTACH TABLE default.apisix_log_develop_merged UUID 'c656deff-b8e2-4889-823c-04263da0e2ab' (`upstream` LowCardinality(String), `rawkey` String, `start_time` DateTime64(3, 'Asia/Shanghai'), `client_ip` String, `service_id` LowCardinality(String), `route_id` LowCardinality(String), `request` Object('json'), `response` Object('json') DEFAULT '{}', `server` Object('json'), `latency` Float64, `upstream_latency` Float64, `apisix_latency` Float64) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/{shard}/default/apisix_log_develop_merged', '{replica}') PARTITION BY toYYYYMM(start_time) ORDER BY (start_time, route_id, rawkey) SETTINGS index_granularity = 8192. (LOGICAL_ERROR), Stack trace (when copying this message, always include the lines below):
0. DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, bool) @ 0xce4697a in /usr/bin/clickhouse
1. ? @ 0x7c49f78 in /usr/bin/clickhouse
2. DB::getLeastCommonTypeForObject(std::__1::vector<std::__1::shared_ptr<DB::IDataType const>, std::__1::allocator<std::__1::shared_ptr<DB::IDataType const> > > const&, bool) @ 0x119f7d22 in /usr/bin/clickhouse
3. DB::MergeTreeData::getObjectColumns(boost::iterator_range<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<std::__1::shared_ptr<DB::IMergeTreeDataPart const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeDataPart const> > > > > >, DB::ColumnsDescription const&) @ 0x1319a0fb in /usr/bin/clickhouse
4. DB::MergeTreeData::resetObjectColumnsFromActiveParts(std::__1::unique_lock<std::__1::mutex> const&) @ 0x13131928 in /usr/bin/clickhouse
5. DB::MergeTreeData::loadDataParts(bool) @ 0x131303d8 in /usr/bin/clickhouse
6. DB::StorageReplicatedMergeTree::StorageReplicatedMergeTree(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, DB::StorageID const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::StorageInMemoryMetadata const&, std::__1::shared_ptr<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::MergeTreeSettings> >, bool, DB::StorageReplicatedMergeTree::RenamingRestrictions) @ 0x12d49f5c in /usr/bin/clickhouse
7. ? @ 0x133ce593 in /usr/bin/clickhouse
8. DB::StorageFactory::get(DB::ASTCreateQuery const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::Context>, std::__1::shared_ptr<DB::Context>, DB::ColumnsDescription const&, DB::ConstraintsDescription const&, bool) const @ 0x12c9f5fb in /usr/bin/clickhouse
9. DB::createTableFromAST(DB::ASTCreateQuery, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::Context>, bool) @ 0x11a6d6ee in /usr/bin/clickhouse
10. DB::DatabaseOrdinary::loadTableFromMetadata(std::__1::shared_ptr<DB::Context>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::QualifiedTableName const&, std::__1::shared_ptr<DB::IAST> const&, DB::LoadingStrictnessLevel) @ 0x11a8c0a7 in /usr/bin/clickhouse
11. ? @ 0x11ad0298 in /usr/bin/clickhouse
12. ThreadPoolImpl<ThreadFromGlobalPoolImpl<false> >::worker(std::__1::__list_iterator<ThreadFromGlobalPoolImpl<false>, void*>) @ 0xcf051ac in /usr/bin/clickhouse
13. void std::__1::__function::__policy_invoker<void ()>::__call_impl<std::__1::__function::__default_alloc_func<ThreadFromGlobalPoolImpl<false>::ThreadFromGlobalPoolImpl<void ThreadPoolImpl<ThreadFromGlobalPoolImpl<false> >::scheduleImpl<void>(std::__1::function<void ()>, long, std::__1::optional<unsigned long>, bool)::'lambda0'()>(void&&)::'lambda'(), void ()> >(std::__1::__function::__policy_storage const*) @ 0xcf07f37 in /usr/bin/clickhouse
14. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0xcf016cc in /usr/bin/clickhouse
15. ? @ 0xcf06e3e in /usr/bin/clickhouse
16. ? @ 0x7f0436331609 in ?
17. clone @ 0x7f0436256133 in ?
(version 22.10.7.13 (official build))
2024.03.18 01:49:09.761060 [ 1 ] {} <Information> Application: Shutting down storages.
2024.03.18 01:49:09.761087 [ 1 ] {} <Information> Context: Shutdown disk backups
Configuration
Environment
- Client version:
- Language version: en
- OS:
ClickHouse server
- ClickHouse Server version:22.10.7.13
the table :
│ CREATE TABLE default.apisix_log_develop_merged
(
`upstream` LowCardinality(String),
`rawkey` String,
`start_time` DateTime64(3, 'Asia/Shanghai'),
`client_ip` String,
`service_id` LowCardinality(String),
`route_id` LowCardinality(String),
`request` Object('json'),
`response` Object('json') DEFAULT '{}',
`server` Object('json'),
`latency` Float64,
`upstream_latency` Float64,
`apisix_latency` Float64
)
ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/{shard}/default/apisix_log_develop_merged', '{replica}')
PARTITION BY toYYYYMM(start_time)
ORDER BY (start_time, route_id, rawkey)
SETTINGS index_granularity = 8192 │
and in other replicas, this table already got some data.