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

Проблема: Не записывается часть кликов В сервис летят клики Используем async_insert На входе в

сервис и графиках количество кликов правильное
Специально даже паралельно сохраняю в postgres клики и туда все долетает
Запрос в логи показывает тоже правильные цифры, что все клики прилетели
SELECT count(*)
FROM system.query_log
WHERE type = 'QueryFinish'
AND query_kind = 'Insert'
AND tables = ['clicks']
AND query_start_time > '2022-07-13 09:00:00';

Но в таблице часть кликов не доехала

Подскажите можно ли в где то посмотреть логи вставок в таблицу?
Может в чем то другом дело?

13 ответов

32 просмотра

есть такая штука как дедупликация вставки https://kb.altinity.com/altinity-kb-schema-design/insert_deduplication/

Vitaly- Автор вопроса
Denny [Altinity]
есть такая штука как дедупликация вставки https:/...

Спасибо, но нашел проблему, спец символ попадал в строку (Code: 62. DB::Exception: Cannot parse expression of type LowCardinality(String) here: 'd'Azur') Но все равно вопрос, как смотреть такие логи для асинхронных вставок? Поменял в приложении запись построчно без async и эта ошибка записалась в system.query_log А вот при async_insert, не могу найти где такие ошибки пишутся

Vitaly
Спасибо, но нашел проблему, спец символ попадал в ...

так не должен такой инсерт проходить даже асинхронный или у вас fire and forget ?

Vitaly- Автор вопроса
Denny [Altinity]
так не должен такой инсерт проходить даже асинхрон...

fire and forget нет Я про то что хочу видеть логи ошибок при асинхронной вставке

Vitaly- Автор вопроса
Denny [Altinity]
system.asynchronous_inserts ?

Там пусто, но наверное как то можно включить логи туда?

Vitaly
fire and forget нет Я про то что хочу видеть лог...

не воспроизводится echo "insert into insert_test values (1, 'aaa'a')"|curl 'http://localhost:8123?async_insert=1' --data-binary @- Code: 62. DB::Exception: Cannot parse expression of type LowCardinality(String) here: 'aaa'a') : While executing WaitForAsyncInsert. (SYNTAX_ERROR) (version 22.7.1.1054) echo "insert into insert_test values (1, 'aaa'a')"|curl 'http://localhost:8123?async_insert=1&wait_for_async_insert=0' --data-binary @-

Vitaly- Автор вопроса
Denny [Altinity]
не воспроизводится echo "insert into insert_test ...

Удивительно, у меня все также не выдается Я пробую CREATE TABLE IF NOT EXISTS tests ( id String, value LowCardinality(String), sign Int8, version UInt64 ) ENGINE = VersionedCollapsingMergeTree(sign, version) ORDER BY (id); echo "insert into tests values ('id1', 'aaa'a', 1, 443443)"|curl 'http://localhost:8123?async_insert=1&wait_for_async_insert=0' --data-binary @-

Vitaly- Автор вопроса
Denny [Altinity]
wait_for_async_insert=0 --- ?

Да, но сейчас пробую на самой свежей версии Была 22.3

Vitaly
Да, но сейчас пробую на самой свежей версии Была 2...

нет, это так и задумано, чего вы хотите от wait_for_async_insert=0 он сразу возвращает управление любой мусор можно инсертить

Vitaly- Автор вопроса
Denny [Altinity]
нет, это так и задумано, чего вы хотите от wait_fo...

If true wait for processing of asynchronous insertion Ааа, получается надо наоборот 1 ставить

Vitaly- Автор вопроса

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта