Size: a a a

ClickHouse не тормозит

2020 June 24

DT

Dmitry Titov in ClickHouse не тормозит
Dmitry S.
да, и настроен на volume: var/lib/clickhouse
volume из докера наружу проброшен?
источник

DS

Dmitry S. in ClickHouse не тормозит
Dmitry Titov
volume из докера наружу проброшен?
да, и виден из контейнера, т.к. бэкап делается не полностью (только metrics)
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dmitry S.
да, и виден из контейнера, т.к. бэкап делается не полностью (только metrics)
только метадата в смысле?
источник

DT

Dmitry Titov in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
да вроде да, какая разница-то
Ну мало ли, уточнить просто.
источник

DS

Dmitry S. in ClickHouse не тормозит
Dmitry Titov
только метадата в смысле?
делается бэкап, внутри 2 директории:

metadata
│   ├── table1
│   │   ├── events.sql
│   │   └── hits.sql
│   └── table2
│       ├── events.sql
│       ├── hits.sql
│       └── postbackLogs.sql
└── shadow

и shadow - пустая
источник

AR

Alexander Ryzhenko in ClickHouse не тормозит
вот такое сообщение в логе. Как узнать что это за таблицы проблемная, и как такое фиксить? Может есть какая-то команда для глобальной проверки базы и фикса ошибок?

2020.06.24 14:20:37.448693 [ 26 ] {} <Error> void DB::SystemLog<LogElement>::flushImpl(DB::SystemLog<LogElement>::EntryType) [with LogElement = DB::QueryLogElement]: Code: 117, e.displayText() = DB::Exception: Data directory for table already containing data parts - probably it was unclean DROP table or manual intervention. You must either clear directory by hand or use ATTACH TABLE instead of CREATE TABLE if you need to use that parts., Stack trace:
0. 0x562b7b4d8640 StackTrace::StackTrace() /usr/bin/clickhouse
1. 0x562b7b4d8415 DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) /usr/bin/clickhouse
2. 0x562b7b2a3af6 ? /usr/bin/clickhouse
3. 0x562b7ec21fe2 ? /usr/bin/clickhouse
4. 0x562b7ec23075 std::_Function_handler<std::shared_ptr<DB::IStorage> (DB::StorageFactory::Arguments const&), std::shared_ptr<DB::IStorage> (*)(DB::StorageFactory::Arguments const&)>::_M_invoke(std::_Any_data const&, DB::StorageFactory::Arguments const&) /usr/bin/clickhouse
5. 0x562b7ea4b4f1 DB::StorageFactory::get(DB::ASTCreateQuery&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::Context&, DB::Context&, DB::ColumnsDescription const&, DB::ConstraintsDescription const&, bool, bool) const /usr/bin/clickhouse
6. 0x562b7e81b3d6 DB::InterpreterCreateQuery::createTable(DB::ASTCreateQuery&) /usr/bin/clickhouse
7. 0x562b7e81c2c3 DB::InterpreterCreateQuery::execute() /usr/bin/clickhouse
8. 0x562b7b5a0644 DB::SystemLog<DB::QueryLogElement>::prepareTable() /usr/bin/clickhouse
9. 0x562b7b5a0eac DB::SystemLog<DB::QueryLogElement>::flushImpl(DB::SystemLog<DB::QueryLogElement>::EntryType) /usr/bin/clickhouse
10. 0x562b7b5a1782 DB::SystemLog<DB::QueryLogElement>::threadFunction() /usr/bin/clickhouse
11. 0x562b7b5a231a ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::SystemLog(DB::Context&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long)::{lambda()#1}>(DB::SystemLog<DB::QueryLogElement>::SystemLog(DB::Context&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long)::{lambda()#1}&&)::{lambda()#1}::operator()() const /usr/bin/clickhouse
12. 0x562b7b52161c ThreadPoolImpl<std::thread>::worker(std::_List_iterator<std::thread>) /usr/bin/clickhouse
13. 0x562b811e8eb0 ? /usr/bin/clickhouse
14. 0x7fb1a54e9ea5 start_thread /usr/lib64/libpthread-2.17.so
15. 0x7fb1a4e068dd __clone /usr/lib64/libc-2.17.so
(version 19.15.3.6 (official build))
источник

DT

Dmitry Titov in ClickHouse не тормозит
Dmitry S.
делается бэкап, внутри 2 директории:

metadata
│   ├── table1
│   │   ├── events.sql
│   │   └── hits.sql
│   └── table2
│       ├── events.sql
│       ├── hits.sql
│       └── postbackLogs.sql
└── shadow

и shadow - пустая
мх, не сталкивался с таким.
Попробуй сюда написать
https://t.me/clickhousebackup
источник

DS

Dmitry S. in ClickHouse не тормозит
спасибо большое 👍
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Dmitry S.
делается бэкап, внутри 2 директории:

metadata
│   ├── table1
│   │   ├── events.sql
│   │   └── hits.sql
│   └── table2
│       ├── events.sql
│       ├── hits.sql
│       └── postbackLogs.sql
└── shadow

и shadow - пустая
по идее надо не наружу пробрасывать, а шарить между контейнерами и бекап запускать в другом контейнере
источник

DS

Dmitry S. in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
по идее надо не наружу пробрасывать, а шарить между контейнерами и бекап запускать в другом контейнере
Спасибо большое, будем добираться до истины 🙂
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Alexander Ryzhenko
вот такое сообщение в логе. Как узнать что это за таблицы проблемная, и как такое фиксить? Может есть какая-то команда для глобальной проверки базы и фикса ошибок?

2020.06.24 14:20:37.448693 [ 26 ] {} <Error> void DB::SystemLog<LogElement>::flushImpl(DB::SystemLog<LogElement>::EntryType) [with LogElement = DB::QueryLogElement]: Code: 117, e.displayText() = DB::Exception: Data directory for table already containing data parts - probably it was unclean DROP table or manual intervention. You must either clear directory by hand or use ATTACH TABLE instead of CREATE TABLE if you need to use that parts., Stack trace:
0. 0x562b7b4d8640 StackTrace::StackTrace() /usr/bin/clickhouse
1. 0x562b7b4d8415 DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) /usr/bin/clickhouse
2. 0x562b7b2a3af6 ? /usr/bin/clickhouse
3. 0x562b7ec21fe2 ? /usr/bin/clickhouse
4. 0x562b7ec23075 std::_Function_handler<std::shared_ptr<DB::IStorage> (DB::StorageFactory::Arguments const&), std::shared_ptr<DB::IStorage> (*)(DB::StorageFactory::Arguments const&)>::_M_invoke(std::_Any_data const&, DB::StorageFactory::Arguments const&) /usr/bin/clickhouse
5. 0x562b7ea4b4f1 DB::StorageFactory::get(DB::ASTCreateQuery&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::Context&, DB::Context&, DB::ColumnsDescription const&, DB::ConstraintsDescription const&, bool, bool) const /usr/bin/clickhouse
6. 0x562b7e81b3d6 DB::InterpreterCreateQuery::createTable(DB::ASTCreateQuery&) /usr/bin/clickhouse
7. 0x562b7e81c2c3 DB::InterpreterCreateQuery::execute() /usr/bin/clickhouse
8. 0x562b7b5a0644 DB::SystemLog<DB::QueryLogElement>::prepareTable() /usr/bin/clickhouse
9. 0x562b7b5a0eac DB::SystemLog<DB::QueryLogElement>::flushImpl(DB::SystemLog<DB::QueryLogElement>::EntryType) /usr/bin/clickhouse
10. 0x562b7b5a1782 DB::SystemLog<DB::QueryLogElement>::threadFunction() /usr/bin/clickhouse
11. 0x562b7b5a231a ThreadFromGlobalPool::ThreadFromGlobalPool<DB::SystemLog<DB::QueryLogElement>::SystemLog(DB::Context&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long)::{lambda()#1}>(DB::SystemLog<DB::QueryLogElement>::SystemLog(DB::Context&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long)::{lambda()#1}&&)::{lambda()#1}::operator()() const /usr/bin/clickhouse
12. 0x562b7b52161c ThreadPoolImpl<std::thread>::worker(std::_List_iterator<std::thread>) /usr/bin/clickhouse
13. 0x562b811e8eb0 ? /usr/bin/clickhouse
14. 0x7fb1a54e9ea5 start_thread /usr/lib64/libpthread-2.17.so
15. 0x7fb1a4e068dd __clone /usr/lib64/libc-2.17.so
(version 19.15.3.6 (official build))
эта ошибка когда вы делаете что?
источник

AR

Alexander Ryzhenko in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
эта ошибка когда вы делаете что?
ничего не делаем. Это началось после того, как мы обновились на v20.4.5.36-stable
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Alexander Ryzhenko
ничего не делаем. Это началось после того, как мы обновились на v20.4.5.36-stable
rm -rf  /var/lib/clickhouse/data/system/query_log
источник

AR

Alexander Ryzhenko in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
rm -rf  /var/lib/clickhouse/data/system/query_log
пробуем, спасибо
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Alexander Ryzhenko
пробуем, спасибо
в сообщении написано 19.15.3.6
вы уже даугрейдитесь?
источник

AR

Alexander Ryzhenko in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
в сообщении написано 19.15.3.6
вы уже даугрейдитесь?
да, вернули обратно
источник

D

Dj in ClickHouse не тормозит
Dj
как-то так
сам не понял.
после убирания number_of_free_entries_in_pool_to_execute_mutation и увеличения max_bytes_to_merge_at_min_space_in_pool все пошло. До этого в цикле логировало
schemaname.tblname (ReplicatedMergeTreeQueue): Not executing log entry MUTATE_PART for part 20200620-21-2_1050_1054_1_1064…


поэтому вопрос, как вообще из queue элементы берутся?
max_replicated_merges_in_queue=32
max_replicated_mutations_in_queue=8

вставок при этом не шло совсем!

может ли быть такое что replicatedMT сначала забивает background thread, и только потом проверяет количество свободных threadов в пуле, убеждается что по лимитам не пролезаем и релизит?
@den_crane может ли оно встать из-за того что
max_replicated_merges_in_queue=32 (мы меняли раньше) -

How many tasks of merging and mutating parts are allowed simultaneously in ReplicatedMergeTree queue.

а
background_pool_size=16

типа очередь на мерджи намного больше чем потенциальный пул потоков.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Alexander Ryzhenko
да, вернули обратно
ну так в ченджлоге даже написано что системные таблицы несовместимы и надо вручную чистить
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Dj
@den_crane может ли оно встать из-за того что
max_replicated_merges_in_queue=32 (мы меняли раньше) -

How many tasks of merging and mutating parts are allowed simultaneously in ReplicatedMergeTree queue.

а
background_pool_size=16

типа очередь на мерджи намного больше чем потенциальный пул потоков.
возможно
наверное надо issue с объяснением что случилось
источник

AR

Alexander Ryzhenko in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
ну так в ченджлоге даже написано что системные таблицы несовместимы и надо вручную чистить
а системные таблицы - это какие?
И нужно ли стопать КХ перед тем как удалять файлы?
источник