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 ответов

22 просмотра

есть такая штука как дедупликация вставки 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- Автор вопроса

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

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

Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
А чем вам питонисты не угодили?😂
.
79
Всем привет. Поделитесь, пожалуйста, опытом. Есть форма, на которой имеется dbgrid и кнопки: добавить, редактировать, удалить. Если нет записей в dbgrid, то кнопки редактирова...
Евгений
4
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Вот смотрите у меня есть два стрима сейчас fs, cs: TStream; fs := TFileStream.Create('filename'); cs := TCompressionStream.Create(compression_level, fs); Я хочу сделать так: ...
notme
5
type TExtensions<GExtender>=class function GetExtension<GEntityExtenderType>:GEntityExtenderType; end; function TExtensions<GExtender>.GetExtension<GEntityExtenderType...
zamtmn
8
Всем здравствуйте! Я хотел узнать сколько стоит средняя месячная зарплата у Electron js разработчиков? Мне очень это важно и нужно, плиз помогите узнать эту инфу! Для Джунио...
U.K.
10
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Карта сайта