transition attempted from state IN_TRANSACTION to state IN_TRANSACTION. Кто-нибудь знает что могло это вызвать?)
Оказалось что если поток не успел закрыть транзакцию и следующий начинает ее, то вылетает это исключение. Получается beginTransaction() не thread safe чтоли и надо синхронизировать метод?
Сингл продюсер паттерн вродь должно быть не? Или это на уровне лидера рулица?
Что вы имеете ввиду, может я что-то не знаю просто
KafkaProducer<K,V> A Kafka client that publishes records to the Kafka cluster. The producer is thread safe and sharing a single producer instance across threads will generally be faster than having multiple instances. Here is a simple example of using the producer to send records with strings containing sequential numbers as the key/value pairs. https://kafka.apache.org/10/javadoc/org/apache/kafka/clients/producer/KafkaProducer.html
Да тут как раз написано. Can be only one open transaction per producer. Видимо надо пул создавать какой-то на старте
Хай) Как в итоге сделал? Поделись решением плз, если есть возможность.
привет) точно не помню, уже в другом месте работаю, но вроде как на каждую транзакцию нового продюсера делал
Спасибо! А пул не стал затаскивать или с ним какие-то проблемы были?
может и пул кстати, уточню у коллеги
Обсуждают сегодня