184 похожих чатов

Подскажите пожалуйста CTE валит сервер в докере. Есть ли какие-нибудь

настройки чтобы данные промежуточные в своп попадали и CTE не падала вместе с сервером? Пусть выполняется долго, но гарантированно.

24 ответов

12 просмотров

а без CTE не падает тот же запрос?

Anton-Kobelev Автор вопроса
Konstantin Ilchenko
а без CTE не падает тот же запрос?

Если разбить на временные таблицы - то не упадет

Anton Kobelev
Если разбить на временные таблицы - то не упадет

если выполнить тот же запрос без CTE, просто вложенным

Anton-Kobelev Автор вопроса
Anton Kobelev
Не уверен что это реально переписать

любой CTE можно переписать с памятью обычно спасают эти настройки max_memory_usage max_bytes_before_external_group_by max_bytes_before_external_sort max_threads join_algorithm

Anton-Kobelev Автор вопроса
Konstantin Ilchenko
если выполнить тот же запрос без CTE, просто вложе...

Разницы нет, что CTE падает, что переписанный запрос с вложенными запросами. Причем на одном и том же месте.

Anton Kobelev
Разницы нет, что CTE падает, что переписанный запр...

так и в каком месте падает?) group by? join? я выше скинул основные настройки куда смотреть

Konstantin Ilchenko
так и в каком месте падает?) group by? join? я в...

Я скорее пытался найти что-то вроде аналога unique constraint из постгреса для clickhouse, чтобы задать на уровне ddl

ivan
это что-то на oltp-шном )

Хм, отрезвило прям) Вообще да, не по канону, значит буду искать другие варианты, спасибо!

Vaska Kasatka
Хм, отрезвило прям) Вообще да, не по канону, значи...

Тут есть пример констрейнов которые используются в pastila.nl https://clickhouse.com/blog/building-a-paste-service-with-clickhouse

Anton-Kobelev Автор вопроса
Konstantin Ilchenko
так и в каком месте падает?) group by? join? я в...

Падает на UNION причем в результирующем датасете данных не так уже и много, ну там порядка 200.000 записей. Пробовал запускать в другом контейнере со свопом - но это все равно не помогло.

Anton Kobelev
Падает на UNION причем в результирующем датасете д...

UNION параллельно выполняется и может отжирать много памяти https://github.com/ClickHouse/ClickHouse/issues/23245 max_threads уменьшать как вариант ну и если на 200000 записей падает, то сколько у вас оперативы выделено? 2Gb?

Anton-Kobelev Автор вопроса
Konstantin Ilchenko
UNION параллельно выполняется и может отжирать мно...

Выделено 12GB + своп. Запускаю - память заканчивается, начинает свопить и все сам docker-engine больше не отвечает

Anton Kobelev
Выделено 12GB + своп. Запускаю - память заканчивае...

запрос один такой или несколько одновременных? SELECT quantiles(0.5,0.9)(memory_usage), count() FROM system.query_log WHERE memory_usage > 0 AND event_date=today() что показывает?

Anton Kobelev
[600.0,581754220] 51

а вот так? SELECT quantiles(0.5,0.9,0.99)(memory_usage), count() FROM system.query_log WHERE memory_usage > 0 AND event_date=today()

Anton-Kobelev Автор вопроса
Anton Kobelev
[600.0,530692518.4000011,4103380323.5199866] 53

это значит 90% не больше полугигабайта, и максимум 4 гига оперативы на запрос... и запросов мало... запрос покажите целиком и посмотрите его в system.query_log

Anton-Kobelev Автор вопроса
Slach [altinity]
это значит 90% не больше полугигабайта, и максимум...

Это одна большая CTE с кучей окошек, query log не показывает запрос, который падает.

Anton Kobelev
Это одна большая CTE с кучей окошек, query log не ...

Вы не настроили volume чтобы данные сохранялись? Типа после рестарта докера у вас стартует голый КХ? Чему равен max_memory_usage в КХ? как выглядит текст ошибки?

Anton-Kobelev Автор вопроса
Konstantin Ilchenko
Вы не настроили volume чтобы данные сохранялись? Т...

max_mеmory_usage устанавливал в самом запросе 24Gb. В логе вижу такое: 2022.07.27 11:46:47.724925 [ 83 ] {} <Debug> MemoryTracker: Peak memory usage Mutate/Merge: 12.55 MiB. 2022.07.27 11:46:48.000230 [ 129 ] {} <Trace> AsynchronousMetrics: MemoryTracking: was 2.37 GiB, peak 7.64 GiB, will set to 2.38 GiB (RSS), difference: 5.17 MiB 2022.07.27 11:46:49.855754 [ 126 ] {} <Trace> SystemLog (system.metric_log): Flushing system log, 8 entries to flush up to offset 7372 2022.07.27 11:46:49.863704 [ 126 ] {} <Debug> DiskLocal: Reserving 1.00 MiB on disk default, having unreserved 147.34 GiB. 2022.07.27 11:46:49.865680 [ 126 ] {} <Trace> MergedBlockOutputStream: filled checksums 202207_981_981_0 (state Temporary) 2022.07.27 11:46:49.866076 [ 126 ] {} <Trace> system.metric_log (f3d96510-4faf-4323-86a9-c82085a43e6a): Renaming temporary part tmp_insert_202207_981_981_0 to 202207_1325_1325_0. 2022.07.27 11:46:49.867115 [ 126 ] {} <Trace> SystemLog (system.metric_log): Flushed system log up to offset 7372 2022.07.27 11:46:52.405725 [ 77 ] {} <Trace> system.asynchronous_metric_log (b0489df1-206e-4d6b-91e0-5dea018b53b4): Found 2 old parts to remove. 2022.07.27 11:46:52.405757 [ 77 ] {} <Debug> system.asynchronous_metric_log (b0489df1-206e-4d6b-91e0-5dea018b53b4): Removing part from filesystem 202207_1_1350_956 2022.07.27 11:46:52.406269 [ 77 ] {} <Debug> system.asynchronous_metric_log (b0489df1-206e-4d6b-91e0-5dea018b53b4): Removing part from filesystem 202207_1351_1351_0 2022.07.27 11:46:53.395978 [ 54 ] {} <Trace> BaseDaemon: Received signal 15 2022.07.27 11:46:53.396124 [ 54 ] {} <Information> Application: Received termination signal (Terminated) 2022.07.27 11:46:53.396409 [ 1 ] {} <Debug> Application: Received termination signal. 2022.07.27 11:46:53.396540 [ 1 ] {} <Debug> Application: Waiting for current connections to close.

Anton Kobelev
max_mеmory_usage устанавливал в самом запросе 24Gb...

Судя по логу вам сигтерм приходит. У вас, случайно, не ооемкиллер ли срабатывает?

Похожие вопросы

Обсуждают сегодня

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Всем привет! Кто нибудь парсил в ручную JSON без библиотек и фреймворков? Есть может ссылки на оптимальный алгоритмы работы с текстом и примеры таких парсеров?
Lem
27
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
Есть сайт. Там была древняя версия эво. Стоял плагин, который каждый коммент в Jot делал отдельной страницей. После обновления все слетело, теперь старница открывается отдельн...
Artem
1
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
Добрый день. А shovel'ы можно как-то сконфигурировать в definitions.json? Пробовал что-то вроде: { "users": [ { "name": "agent", "password_hash": "RBCbTzQd...
Aleksey
1
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
А чем вам питонисты не угодили?😂
.
79
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Карта сайта