Есть другая проблема, ранее я здесь писал что у нас

проблемы были на python в реализации транзакционной модели. Если точнее, консамер видил сообщения, даже после abort_transaction. Предположили что это библиотека confluent для питона не совершенна. Быстро перенесли алгоритм на Java, проблема осталась.(( Как только запускается продюсер 100.000 сообщений в одним топик. Консольный потребитель подключенный к топику со свойством isolation.level=read_commited сразу видит сообщения которые заливаются, хотя по логике из документации не должен. Вопрос, может здесь какой метод продюсера играет роль на отправку сообщений в топик?
Делаем так:
init.transaction
begin.transaction
Producer.Send(Messages) -цикл 100.000 сообщений.
Если все ок, commit.transaction
Иначе abort.transaction.

6 ответов

23 просмотра

вот в доке пример описан всё должно работать https://kafka.apache.org/10/javadoc/org/apache/kafka/clients/producer/KafkaProducer.html

Vladimir-Alifirov Автор вопроса
Чёрный Плащ
вот в доке пример описан всё должно работать https...

Благодарю. Проверим, напишу по итогу, помогло или нет..

Vladimir-Alifirov Автор вопроса
Vladimir Alifirov
Благодарю. Проверим, напишу по итогу, помогло или ...

Приветствую всех. Проверили пример из документации у себя. Есть такая особенность. Если сообщений не много и они менее 1 Кб, то все работает как надо. Но если сообщения 1Кб и Более, то ситуация не меняется: За основу взяли пример из документации. Заменили только алгоритм добавления сообщения: producer.beginTransaction(); String MessageData = GetDataBySize(1024); for (int i = 0; i < 10000; i++) producer.send(new ProducerRecord<>("topic03", Integer.toString(i), String.format("Message %s %s", i+1, MessageData))); и вместо commit.transaction поставили сразу abort.transaction. При таких условиях, консамер не должен был увидеть вообще ни одного сообщения. Но увы все равно были видны((. Может какие то еще настройки не учитываем?

Vladimir-Alifirov Автор вопроса
Vladimir Alifirov
Приветствую всех. Проверили пример из документации...

Здесь может сама архитектура выстроенная влияет? Кластер из 3-х Брокеров и 1 зукипер?

Vladimir Alifirov
Здесь может сама архитектура выстроенная влияет? ...

да вроде от количества брокеров это вообще никак не должно зависеть transactional.id установлен? я единственное что по себе вспомнил - у нас ключ всех сообщений в транзакции - один, соответственно, всё они в одной партиции (не знаю, влияет ли это) может, бага в самом брокере конкретной версии? если смотреть онлайн по смещениям, то коммит выглядит как ещё одно сообщение, которое не видно на консьюмере. так можно понять, прилетает ли вообще коммит как вариант - попробуйте тестовый стенд собрать с дефолтными настройками, на него натравить простейший тест - там посмотреть, вдруг какое хитрое влияние инфраструктуры

Vladimir-Alifirov Автор вопроса
Чёрный Плащ
да вроде от количества брокеров это вообще никак н...

transactional.id установлен? При каждом запуске новое значение. В принципе по этой части проверяли. И одно значение так же ставили. Не влияет. Пока будем тогда рассматривать 2 версии, либо это версия броекров Кафки. Либо это наша архитектура. Так как проверили уже и на java и на python результат один, транзакции не работают корректно. Благодарю за направления. Будем дальше думать и искать решение. Найдем, отпишусь в чем было дело.

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

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

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта