Size: a a a

ClickHouse не тормозит

2020 May 23

AL

Aleksey Laptev in ClickHouse не тормозит
действительно )
источник

OM

Oleksii Mylotskyi in ClickHouse не тормозит
Привет, подскажите пожалуйста с чем может быть связано. Пытаюсь сделать ALTER TABLE ... DELETE на таблице 5 млрд записей, получаю в ответ

Received exception from server (version 20.3.5):
Code: 999. DB::Exception: Received from localhost:9000. DB::Exception: Connection loss.

0 rows in set. Elapsed: 0.967 sec.

И в логе вот такая ошибка

zkutil::EphemeralNodeHolder::~EphemeralNodeHolder(): Code: 999, e.displayText() = Coordination::Exception: Session expired (Session expired), Stack trace (when copying this m
essage, always include the lines below):

0. Poco::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x1050f0d0 in /usr/bin/clickhouse
1. DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x8f3272d in /usr/bin/clickhouse
2. Coordination::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int) @ 0xdee56b8 in /usr/bin/clickhouse
3. Coordination::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0xdee5ce2 in /usr/bin/clickhouse
4. ? @ 0xdf19fe1 in /usr/bin/clickhouse
5. Coordination::ZooKeeper::remove(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, std::__1::function<void (Coordination::RemoveResponse const&)>) @ 0xdf14662 in /usr/bin/clickhouse
6. zkutil::ZooKeeper::tryRemove(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0xdeedffe in /usr/bin/clickhouse
7. std::__1::__shared_ptr_emplace<zkutil::EphemeralNodeHolder, std::__1::allocator<zkutil::EphemeralNodeHolder> >::__on_zero_shared() @ 0x911476e in /usr/bin/clickhouse
8. std::__1::__shared_ptr_emplace<zkutil::LeaderElection, std::__1::allocator<zkutil::LeaderElection> >::__on_zero_shared() @ 0xd7971aa in /usr/bin/clickhouse
9. std::__1::shared_ptr<zkutil::LeaderElection>::~shared_ptr() @ 0xd79a1f2 in /usr/bin/clickhouse
10. DB::StorageReplicatedMergeTree::exitLeaderElection() @ 0xd730387 in /usr/bin/clickhouse
11. DB::ReplicatedMergeTreeRestartingThread::partialShutdown() @ 0xdad9508 in /usr/bin/clickhouse
12. DB::ReplicatedMergeTreeRestartingThread::run() @ 0xdadee43 in /usr/bin/clickhouse
13. DB::BackgroundSchedulePoolTaskInfo::execute() @ 0xcfe5815 in /usr/bin/clickhouse
14. DB::BackgroundSchedulePool::threadFunction() @ 0xcfe5e32 in /usr/bin/clickhouse

а в ZOOKEEPER логе такой Exception:

java.io.IOException: Len error 1336468
 at org.apache.zookeeper.server.NIOServerCnxn.readLength(NIOServerCnxn.java:541)
 at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:332)
 at org.apache.zookeeper.server.NIOServerCnxnFactory$IOWorkRequest.doWork(NIOServerCnxnFactory.java:522)
 at org.apache.zookeeper.server.WorkerService$ScheduledWorkRequest.run(WorkerService.java:154)
 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 at java.base/java.lang.Thread.run(Thread.java:834)

И такое происходит только с одной таблицей, другие две прошли без проблем, и по объему они не на много меньше.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Oleksii Mylotskyi
Привет, подскажите пожалуйста с чем может быть связано. Пытаюсь сделать ALTER TABLE ... DELETE на таблице 5 млрд записей, получаю в ответ

Received exception from server (version 20.3.5):
Code: 999. DB::Exception: Received from localhost:9000. DB::Exception: Connection loss.

0 rows in set. Elapsed: 0.967 sec.

И в логе вот такая ошибка

zkutil::EphemeralNodeHolder::~EphemeralNodeHolder(): Code: 999, e.displayText() = Coordination::Exception: Session expired (Session expired), Stack trace (when copying this m
essage, always include the lines below):

0. Poco::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x1050f0d0 in /usr/bin/clickhouse
1. DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x8f3272d in /usr/bin/clickhouse
2. Coordination::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int) @ 0xdee56b8 in /usr/bin/clickhouse
3. Coordination::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0xdee5ce2 in /usr/bin/clickhouse
4. ? @ 0xdf19fe1 in /usr/bin/clickhouse
5. Coordination::ZooKeeper::remove(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, std::__1::function<void (Coordination::RemoveResponse const&)>) @ 0xdf14662 in /usr/bin/clickhouse
6. zkutil::ZooKeeper::tryRemove(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0xdeedffe in /usr/bin/clickhouse
7. std::__1::__shared_ptr_emplace<zkutil::EphemeralNodeHolder, std::__1::allocator<zkutil::EphemeralNodeHolder> >::__on_zero_shared() @ 0x911476e in /usr/bin/clickhouse
8. std::__1::__shared_ptr_emplace<zkutil::LeaderElection, std::__1::allocator<zkutil::LeaderElection> >::__on_zero_shared() @ 0xd7971aa in /usr/bin/clickhouse
9. std::__1::shared_ptr<zkutil::LeaderElection>::~shared_ptr() @ 0xd79a1f2 in /usr/bin/clickhouse
10. DB::StorageReplicatedMergeTree::exitLeaderElection() @ 0xd730387 in /usr/bin/clickhouse
11. DB::ReplicatedMergeTreeRestartingThread::partialShutdown() @ 0xdad9508 in /usr/bin/clickhouse
12. DB::ReplicatedMergeTreeRestartingThread::run() @ 0xdadee43 in /usr/bin/clickhouse
13. DB::BackgroundSchedulePoolTaskInfo::execute() @ 0xcfe5815 in /usr/bin/clickhouse
14. DB::BackgroundSchedulePool::threadFunction() @ 0xcfe5e32 in /usr/bin/clickhouse

а в ZOOKEEPER логе такой Exception:

java.io.IOException: Len error 1336468
 at org.apache.zookeeper.server.NIOServerCnxn.readLength(NIOServerCnxn.java:541)
 at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:332)
 at org.apache.zookeeper.server.NIOServerCnxnFactory$IOWorkRequest.doWork(NIOServerCnxnFactory.java:522)
 at org.apache.zookeeper.server.WorkerService$ScheduledWorkRequest.run(WorkerService.java:154)
 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 at java.base/java.lang.Thread.run(Thread.java:834)

И такое происходит только с одной таблицей, другие две прошли без проблем, и по объему они не на много меньше.
А сколько партов в таблице? select count() from system.parts where table='xxx' and active
источник

OM

Oleksii Mylotskyi in ClickHouse не тормозит
Oleksii Mylotskyi
Привет, подскажите пожалуйста с чем может быть связано. Пытаюсь сделать ALTER TABLE ... DELETE на таблице 5 млрд записей, получаю в ответ

Received exception from server (version 20.3.5):
Code: 999. DB::Exception: Received from localhost:9000. DB::Exception: Connection loss.

0 rows in set. Elapsed: 0.967 sec.

И в логе вот такая ошибка

zkutil::EphemeralNodeHolder::~EphemeralNodeHolder(): Code: 999, e.displayText() = Coordination::Exception: Session expired (Session expired), Stack trace (when copying this m
essage, always include the lines below):

0. Poco::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x1050f0d0 in /usr/bin/clickhouse
1. DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x8f3272d in /usr/bin/clickhouse
2. Coordination::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int) @ 0xdee56b8 in /usr/bin/clickhouse
3. Coordination::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0xdee5ce2 in /usr/bin/clickhouse
4. ? @ 0xdf19fe1 in /usr/bin/clickhouse
5. Coordination::ZooKeeper::remove(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, std::__1::function<void (Coordination::RemoveResponse const&)>) @ 0xdf14662 in /usr/bin/clickhouse
6. zkutil::ZooKeeper::tryRemove(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0xdeedffe in /usr/bin/clickhouse
7. std::__1::__shared_ptr_emplace<zkutil::EphemeralNodeHolder, std::__1::allocator<zkutil::EphemeralNodeHolder> >::__on_zero_shared() @ 0x911476e in /usr/bin/clickhouse
8. std::__1::__shared_ptr_emplace<zkutil::LeaderElection, std::__1::allocator<zkutil::LeaderElection> >::__on_zero_shared() @ 0xd7971aa in /usr/bin/clickhouse
9. std::__1::shared_ptr<zkutil::LeaderElection>::~shared_ptr() @ 0xd79a1f2 in /usr/bin/clickhouse
10. DB::StorageReplicatedMergeTree::exitLeaderElection() @ 0xd730387 in /usr/bin/clickhouse
11. DB::ReplicatedMergeTreeRestartingThread::partialShutdown() @ 0xdad9508 in /usr/bin/clickhouse
12. DB::ReplicatedMergeTreeRestartingThread::run() @ 0xdadee43 in /usr/bin/clickhouse
13. DB::BackgroundSchedulePoolTaskInfo::execute() @ 0xcfe5815 in /usr/bin/clickhouse
14. DB::BackgroundSchedulePool::threadFunction() @ 0xcfe5e32 in /usr/bin/clickhouse

а в ZOOKEEPER логе такой Exception:

java.io.IOException: Len error 1336468
 at org.apache.zookeeper.server.NIOServerCnxn.readLength(NIOServerCnxn.java:541)
 at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:332)
 at org.apache.zookeeper.server.NIOServerCnxnFactory$IOWorkRequest.doWork(NIOServerCnxnFactory.java:522)
 at org.apache.zookeeper.server.WorkerService$ScheduledWorkRequest.run(WorkerService.java:154)
 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 at java.base/java.lang.Thread.run(Thread.java:834)

И такое происходит только с одной таблицей, другие две прошли без проблем, и по объему они не на много меньше.
6270
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Гм, а как они называются ? Поле name из system.parts для однго парта? Просто получается что 6270 не влезли в мегабайт Len error 1336468
источник

OM

Oleksii Mylotskyi in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Гм, а как они называются ? Поле name из system.parts для однго парта? Просто получается что 6270 не влезли в мегабайт Len error 1336468
вот типичное название одной из партиций 102-87-202001_0_25_75_27
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Oleksii Mylotskyi
вот типичное название одной из партиций 102-87-202001_0_25_75_27
Странно а сколько всего
select count() from system.parts where table=
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
С неактивными
источник

OM

Oleksii Mylotskyi in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Странно а сколько всего
select count() from system.parts where table=
У меня два шарда, на каждом по 6270 партиций вовзращает

select count() from system.parts where table='logs_real_raw_local';

SELECT count()
FROM system.parts
WHERE table = 'logs_real_raw_local'

┌─count()─┐
│    6270 │
└─────────┘
источник

S

SkyDigital in ClickHouse не тормозит
/stop
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Какой-то баг в кх. Непонятно что он в 1336468 положил, надо tcpdump-м смотреть
источник

A

Alexander in ClickHouse не тормозит
подскажите ~ размер докера Clickhouse, plz
источник

OM

Oleksii Mylotskyi in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Какой-то баг в кх. Непонятно что он в 1336468 положил, надо tcpdump-м смотреть
А если на ZK увеличить jute.maxbuffer сделать его например 2 MB или 4 MB это поможет ? А главное не поломает ли чего...
источник

MI

Marat Idrísov in ClickHouse не тормозит
Привет, подскажите, как можно спроектировать таблицу  для вставки  json объектов с заранее неизвестными ключами.
1) Сделать основные поля для одинаковых ключей всех json'ов и создать два Array поля Key, Value для остальных данных json
2) Динамически обновлять схему таблицы с каждым новым полем
источник

pk

papa karlo in ClickHouse не тормозит
спроектировать можно как угодно, со своими плюсами и минусами.
источник

AT

Al T in ClickHouse не тормозит
рекомендовали на митапе комбинированный вариант, когда наиболее популярные ключи (особенно если по ним фильтровать надо) в отдельные колонки, а остальные jsonом в одну колонку
источник

AT

Al T in ClickHouse не тормозит
если немного колонок так и все делать отдельными колонками
источник

G

GithubReleases in ClickHouse не тормозит
ClickHouse/ClickHouse tagged: v20.4.3.16-stable
Link: https://github.com/ClickHouse/ClickHouse/releases/tag/v20.4.3.16-stable
Release notes:
v20.4.3.16-stable
источник

OM

Oleksii Mylotskyi in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Какой-то баг в кх. Непонятно что он в 1336468 положил, надо tcpdump-м смотреть
tcpdump показывает какие-то отправки вот такого плана:

4:51:13.765333 IP clickhouse.44134 > zookeeper.2181: Flags [.], seq 774759:783708, ack 964284, win 3149, options [nop,nop,TS val 1014071860 ecr 798325178], length 8949
E.#)~Q@.@.....)-..      /.f.....[a..@...M.......
<q.4/.y...v....v................S/clickhouse/tables/01-02/logs_real_raw_local/block_numbers/71-12-201911/block-...R/clickhouse/tables/01-02/logs_real_raw_local/temp/abandonable_lock-0001166069............world....anyone................S/clickhouse/tables/01-02/logs_real_raw_local/block_numbers/71-12-201910/block-...R/clickhouse/tables/01-02/logs_real_raw_local/temp/abandonable_lock-0001166070............world....anyone................T/clickhouse/tables/01-02/logs_real_raw_local/block_numbers/107-13-201910/block-...R/clickhouse/tables/01-02/logs_real_raw_local/temp/abandonable_lock-0001166071............world....anyone................T/clickhouse/tables/01-02/logs_real_raw_local/block_numbers/107-13-201912/block-...R/clickhouse/tables/01-02/logs_real_raw_local/temp/abandonable_lock-0001166072............world....anyone................T/clickhouse/tables/01-02/logs_real_raw_local/block_numbers/107-13-201911/block-...R/clickhouse/tables/01-02/logs_real_raw_local/temp/abandonable_lock-0001166073............world....anyone................U/clickhouse/tables/01-02/logs_real_raw_local/block_numbers/102-103-202001/block-...R/clickhouse/tables/01-02/logs_real_raw_local/temp/abandonable_lock-0001166074............world....anyone................T/clickhouse/tables/01-02/logs_real_raw_local/block_numbers/127-36-201911/block-...R/clickhouse/tables/01-02/logs_real_raw_local/temp/abandonable_lock-0001166075............world....anyone................T/clickhouse/tables/01-02/logs_real_raw_local/block_numbers/127-36-201910/block-...R/clickhouse/tables/01-02/logs_real_raw_local/temp/abandonable_lock-0001166076............world....anyone................U/clickhouse/tables/01-02/logs_real_raw_local/block_numbers/102-103-202002/block-...R/clickhouse/tables/01-02/logs_real_raw_local/temp/abandonable_lock-0001166077............world....anyone...............

не до конца понятно это нормально или нет :(
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Oleksii Mylotskyi
Привет, подскажите пожалуйста с чем может быть связано. Пытаюсь сделать ALTER TABLE ... DELETE на таблице 5 млрд записей, получаю в ответ

Received exception from server (version 20.3.5):
Code: 999. DB::Exception: Received from localhost:9000. DB::Exception: Connection loss.

0 rows in set. Elapsed: 0.967 sec.

И в логе вот такая ошибка

zkutil::EphemeralNodeHolder::~EphemeralNodeHolder(): Code: 999, e.displayText() = Coordination::Exception: Session expired (Session expired), Stack trace (when copying this m
essage, always include the lines below):

0. Poco::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x1050f0d0 in /usr/bin/clickhouse
1. DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x8f3272d in /usr/bin/clickhouse
2. Coordination::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int) @ 0xdee56b8 in /usr/bin/clickhouse
3. Coordination::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0xdee5ce2 in /usr/bin/clickhouse
4. ? @ 0xdf19fe1 in /usr/bin/clickhouse
5. Coordination::ZooKeeper::remove(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, std::__1::function<void (Coordination::RemoveResponse const&)>) @ 0xdf14662 in /usr/bin/clickhouse
6. zkutil::ZooKeeper::tryRemove(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0xdeedffe in /usr/bin/clickhouse
7. std::__1::__shared_ptr_emplace<zkutil::EphemeralNodeHolder, std::__1::allocator<zkutil::EphemeralNodeHolder> >::__on_zero_shared() @ 0x911476e in /usr/bin/clickhouse
8. std::__1::__shared_ptr_emplace<zkutil::LeaderElection, std::__1::allocator<zkutil::LeaderElection> >::__on_zero_shared() @ 0xd7971aa in /usr/bin/clickhouse
9. std::__1::shared_ptr<zkutil::LeaderElection>::~shared_ptr() @ 0xd79a1f2 in /usr/bin/clickhouse
10. DB::StorageReplicatedMergeTree::exitLeaderElection() @ 0xd730387 in /usr/bin/clickhouse
11. DB::ReplicatedMergeTreeRestartingThread::partialShutdown() @ 0xdad9508 in /usr/bin/clickhouse
12. DB::ReplicatedMergeTreeRestartingThread::run() @ 0xdadee43 in /usr/bin/clickhouse
13. DB::BackgroundSchedulePoolTaskInfo::execute() @ 0xcfe5815 in /usr/bin/clickhouse
14. DB::BackgroundSchedulePool::threadFunction() @ 0xcfe5e32 in /usr/bin/clickhouse

а в ZOOKEEPER логе такой Exception:

java.io.IOException: Len error 1336468
 at org.apache.zookeeper.server.NIOServerCnxn.readLength(NIOServerCnxn.java:541)
 at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:332)
 at org.apache.zookeeper.server.NIOServerCnxnFactory$IOWorkRequest.doWork(NIOServerCnxnFactory.java:522)
 at org.apache.zookeeper.server.WorkerService$ScheduledWorkRequest.run(WorkerService.java:154)
 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 at java.base/java.lang.Thread.run(Thread.java:834)

И такое происходит только с одной таблицей, другие две прошли без проблем, и по объему они не на много меньше.
я ошибся, это видимо вообще не то что я думал.

а что показывает у зукипера echo mntr|nc localhost 2181

и что в логе КХ перед трейсом, что делал этот тред?
источник