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

Привет! Подскажите, плз, можно ли как-то выдавать приоритеты запросам чтобы

при нехватке памяти(DB::Exception: Memory limit (total) exceeded) падали запросы с меньшими приоритетами, а запрос с бОльшим продолжал работать?

15 ответов

16 просмотров

Как я знаю, нет. Все запросы выполняются паралельно

N- Автор вопроса
Константин
Как я знаю, нет. Все запросы выполняются паралельн...

понятно, что параллельно. Но вот нет ли возможности завалить менее приоритетный запрос в угоду большему. Т.е. чтобы бОльший не завалился

N
понятно, что параллельно. Но вот нет ли возможност...

мне кажется, идея очень интересная, вы бы issue завели - многие бы под такое подписались

N- Автор вопроса
Bulat Ziganshin
мне кажется, идея очень интересная, вы бы issue за...

я пока не уверен, что она хотя бы реализуема) Знатаков бы послушать)

Bulat Ziganshin
мне кажется, идея очень интересная, вы бы issue за...

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

N
я пока не уверен, что она хотя бы реализуема) Знат...

мне кажется, я представляю как её можно реализовать: при запросе памяти аллокатор притормаживает если сейчас памяти нет и выставляет флажок гашения менее приоритетных запросов. продолжает когда появляется необходимая память. или когда все запросы с меньшим приоритетом оказались загашены

N- Автор вопроса
Bulat Ziganshin
мне кажется, я представляю как её можно реализоват...

https://github.com/ClickHouse/ClickHouse/issues/17623#issuecomment-737099368

N
https://github.com/ClickHouse/ClickHouse/issues/17...

там говорится об общем направлении, а не этой конкретно идее

N- Автор вопроса
Bulat Ziganshin
там говорится об общем направлении, а не этой конк...

Это ответ на вот это сообщение. Мне показалось похожим

N
Это ответ на вот это сообщение. Мне показалось пох...

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

N- Автор вопроса
N- Автор вопроса
N
https://github.com/ClickHouse/ClickHouse/issues/84...

Proper sharing of non-elastic resources requires implementation of resource overcommit + preemption. Query preemption will be implemented only after "Processors" branch and it's currently out of schedule. возможно, здесь Алексей имел в виду то что говорил я (сжать / сбросить диск данные низкоприоритетного запроса), но уж точно не то что предложили вы

N
https://github.com/ClickHouse/ClickHouse/issues/84...

вот это ближе к вашей теме: https://github.com/ClickHouse/ClickHouse/issues/28375

N- Автор вопроса
Bulat Ziganshin
Proper sharing of non-elastic resources requires i...

кажется, эти механизмы нужны для реализации того, что предложил я

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта