Skip to content

Clickhouse refused to start with exception message about faulty table #29569

@tobiaslins

Description

@tobiaslins

Describe the unexpected behaviour
I already had issues with Clickhouse multiple times when I created a faulty table (using materializedpostgres or RabbitMQ engine but it should all behave the same in my opinion)

Clickhouse seems to be crashing if it can't initialize a table on startup (connection issues etc)
I don't see why clickhouse shouldn't start up when a table is faulty. Wouldn't it be better to let clickhouse start and make those table unavailable to query?
We had the problem that CH doesn't start up when our RabbitMQ server was not available.

Expected behavior
Clickhouse should start with 'faulty' tables as well.

Error message and/or stacktrace

2021.09.30 12:48:56.271541 [ 190 ] {} <Error> StorageRabbitMQ (automations_queue): Library error report: connection lost
2021.09.30 12:49:00.093166 [ 45 ] {} <Error> Application: Caught exception while loading metadata: std::exception. Code: 1001, type: std::runtime_error, e.what() = failed to open channel: connection is not active, Stack trace (when copying this message, always include the lines below):

0. AMQP::Channel::Channel(AMQP::Connection*) @ 0x15017a37 in /usr/bin/clickhouse
1. DB::RabbitMQConnection::createChannel() @ 0x10bd0315 in /usr/bin/clickhouse
2. DB::StorageRabbitMQ::startup() @ 0x10bc245d in /usr/bin/clickhouse
3. ? @ 0xfec3ddb in /usr/bin/clickhouse
4. ThreadPoolImpl<ThreadFromGlobalPool>::worker(std::__1::__list_iterator<ThreadFromGlobalPool, void*>) @ 0x8fe7a98 in /usr/bin/clickhouse
5. ThreadFromGlobalPool::ThreadFromGlobalPool<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda0'()>(void&&, void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda0'()&&...)::'lambda'()::operator()() @ 0x8fe963f in /usr/bin/clickhouse
6. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x8fe4d7f in /usr/bin/clickhouse
7. ? @ 0x8fe8663 in /usr/bin/clickhouse
8. start_thread @ 0x9609 in /lib/libpthread.so.0
9. __clone @ 0x122293 in /lib/libc.so.6
 (version 21.8.8.29 (official build))

Metadata

Metadata

Assignees

No one assigned

    Labels

    unexpected behaviourResult is unexpected, but not entirely wrong at the same time.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions