powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / не совсем джава но вдруг. кафка.
258 сообщений из 258, показаны все 11 страниц
не совсем джава но вдруг. кафка.
    #40027471
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я знаю что щас скорее всего полетят тапки но вдруг кто знает.
короче, тема:
есть компакт-топик. есть 12 партиций. читаем топик сначала.
есть партиция икс, читается с оффсета ну скажем тысяча. считаем по порядку 1001, 1002, 1003, 1004, 1005 иии 1205, 1206 и тп
скипанули двести мессаджей.
что за..? загуглил на эту тему написали что да вот де бывает ребаланс и может скипануть. взял другой топик. там только одна партиция. тоже самое запустил шарманку. ничего не скипает.

написал в первый раз клиента на вертиксе. (под капотом у кварка) такой модный благородный реактивный. подумал дело в нем. переписал на обычной голый кафка сдк. та же фигня.

стоял автокоммит. убрал сделал коммит вручную - получил в полле 200 мессаджей - заокммитил, получил еще 200 закоммитил еще и так по кругу.

не помогло.

я понимаю что тут скорее всего что то с кафкой. но кафкаводы отпираются говорят что у них всё ок (они скорее всего даже не пытались читать топик сначала всквозь).

собссно вопрос кто нибудь сталкивался с таким поведением когда оффсеты прыгают? это прям не очень тема потому что мне нужна схема где будет как минимум раз сообщение дойдет. оно может дублироваться, приходить вне ордера но не должно исчезнуть.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40027484
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Закон message driven систем это - ничего не должно ломаться если сообщение не пришло или оно пришло дублируясь.
Это выполняется у тебя надеюсь.
Если у тебя от упорядоченности и гарантированной доставки жизнь зависит, то выкинуть message driven.
Только синхронно.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40027500
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кафка гарантирует ордеринг в рамках одного ключа. один ключ всегда в одной и той же партиции. мне этого достаточно. хотя даже это не критично. тем не менее это означает что если одна и та же сущность обновлялась 25 раз то все 25 обновлений лягут в одну партицию и придут в том порядке в каком ушли.
тем не менее, речь не про ордеринг.
а про то что в рамках одной партиции оффсет не растет на +1 а он может быть +1 +1 +1 +1 +1434 +1 +1
и я хз что с этим делать. данные теряются :) система терпит тот факт что они появятся не сразу. но она не терпит что они не появятся никогда.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40027506
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
не появятся никогда
это серьезное обвинение.
Тесть не на оффсет а на "никогда" в студию
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40027507
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT
не появятся никогда
это серьезное обвинение.
Тесть не на оффсет а на "никогда" в студию

ты вменяемый?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40027511
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Я знаю чт ты из разряда ленивых. Тесты тут для всех не выложишь никогда.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40027513
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
ты вменяемый?
кажется кто-то под ником PetroNotC Sharp совсем другой....
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40027516
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Вы ТС. От вас просят логи. Какая разница кто под ником?
Вы флудеры что ли?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40027517
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
вадя,
Вы ТС. От вас просят логи. Какая разница кто под ником?
Вы флудеры что ли?

тебе логи чего именно? как прыгает оффсет?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40027518
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
система терпит тот факт что они появятся не сразу. но она не терпит что они не появятся никогда.
ты вменяемый?
Из твоего предложения следует что данные НЕ ПОЯВЛЯЮТСЯ НИКОГДА и система.... Падает?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40027529
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как же я люблю андрейкины топики
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40028571
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Как же я люблю андрейкины топики

Сказала Кафка, выкидывая 200 мессаджей :-)

А если серьезно, то нужно делать пример демонстрирующий баг и заводить issue в ихней JIRA. Только чтобы занятых людей не отвлекать зря, example лучше сначала сюда на верефикацию кинуть, проблема то на 146% заключается в кривых руках, я на это даже могу бутылку вискаря поставить.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029316
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что значит выложить баг? показать что вот тут циферка оффсета 100, а при следующем полле циферка оффсета 1000? никого не смутит что это снимается с моего же приложения?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029317
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне как-то бухгалтер проел мозг доказывая что sequence в базах данных должен выдавать строго
последовательно значения без пробелов. Ему там надо-было для формирования документов
присваивать им номера.

По топику. Я еще раз скажу что не спец в кафке. Но мне кажется что генераторы последовательностей
в TCP и в прочих инженерно-технических решениях вовсе не гарантируют нам каких-то особых контрактов.
Их задача - уникальность а существование белых пятен - это просто оптимизация перформанса.

Например поток-продюсер который планирует выдать пачку (batch/branch) сообщений - резервирует
диапазон... [ 1000...1199 ] чтоб следующий поток зохватил уже следующую пачку [ 1200...1399 ].

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

Как-то так.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029323
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://github.com/apache/kafka

Вот исходный код.

https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/consumer/KafkaConsumer.java

Вот объяснялка от туда строки 110 - 112

автор * The {@link #position(TopicPartition) position} of the consumer gives the offset of the next record that will be given
* out. It will be one larger than the highest offset the consumer has seen in that partition. It automatically advances
* every time the consumer receives messages in a call to {@link #poll(Duration)}.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029325
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
что значит выложить баг? показать что вот тут циферка оффсета 100, а при следующем полле циферка оффсета 1000? никого не смутит что это снимается с моего же приложения?

Сначала оформить словами хотелку или недостаток.
И без слова оффсет.
Бизнес аналитик не знает такого слова.
Он знает: "сообщение А не пришло в систему Б в течении Х часов. Или.....
....
Если не умеешь формулировать, то брось заниматься Messagen Driven system.
Не твое это.
Либо кодируй чёткое ТЗ от того кто умеет.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029464
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergunka
https://github.com/apache/kafka

Вот исходный код.

https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/consumer/KafkaConsumer.java

Вот объяснялка от туда строки 110 - 112

автор * The {@link #position(TopicPartition) position} of the consumer gives the offset of the next record that will be given
* out. It will be one larger than the highest offset the consumer has seen in that partition. It automatically advances
* every time the consumer receives messages in a call to {@link #poll(Duration)}.

ну... написано +1. а у меня может быть плюс 500 тысяч.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029563
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
что значит выложить баг?

SSCCE Short, Self Contained, Correct (Compilable), Example .

Без запускаемого примера который показывает как теряются двести мессаджей, с вами разговаривать не о чем. Потому что ожидать о твас можно всё чего угодно, вплоть до включенного автокомита в комбинации с проглатыванием эксепшенов - тобишь прочитали пачку мессаджей упали при обработке первого же из пачки не дойдя до следующего, а в итоге всю пачку всё равно закомитили. В кафке вам баги нужно искать в самую последнюю очередь, поэтому берите Testcontainers Kafka и выкладывайте проектик на гитхаб демонстрирующий потерю 200 мессаджей при его запуске, тогда и поговорим, заодно и кафку сразу не отходя от кассы пофиксим, если там конечно действительно есть баг, в чем я очень сильно сомневаюсь.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029608
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba,
>Без запускаемого примера°....
А ТС хоть кол на голову теши.
Вот уже 4ый его топик он слушает только себя и у него минимум кода в постах.
19 декабря проснулся. Сделал удивленные глазки и опять заснул. До сдедующего своего топика про оффсеты и бла бла бла.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029648
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей. Я предлагаю завести дефект здесь https://issues.apache.org/jira/projects/KAFKA/issues/KAFKA-10869?filter=allopenissues
и если его закроют с резолюцией - не баг тогда это просто особенность конфигурации или софта.

Я также в дальнейшем предлагаю не поднимать топики по кафке здесь, в форуме Java т.к. экспертизы не хватает.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029734
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конфиг при старте консамера:
автор allow.auto.create.topics = true
auto.commit.interval.ms = 5000
auto.offset.reset = earliest
bootstrap.servers = [o-----.se:31092]
check.crcs = true
client.dns.lookup = default
client.id =
client.rack =
connections.max.idle.ms = 540000
default.api.timeout.ms = 60000
enable.auto.commit = false
exclude.internal.topics = true
fetch.max.bytes = 52428800
fetch.max.wait.ms = 500
fetch.min.bytes = 1
group.id = ---i-group-4ceed390-2441-4e7f-b1d0-19ae4eb80a31asdfg
group.instance.id = null
heartbeat.interval.ms = 3000
interceptor.classes = []
internal.leave.group.on.close = true
isolation.level = read_committed
key.deserializer = class org.apache.kafka.common.serialization.StringDeserializer
max.partition.fetch.bytes = 1048576
max.poll.interval.ms = 300000
max.poll.records = 400
metadata.max.age.ms = 300000
metric.reporters = []
metrics.num.samples = 2
metrics.recording.level = INFO
metrics.sample.window.ms = 30000
partition.assignment.strategy = [class org.apache.kafka.clients.consumer.RangeAssignor]
receive.buffer.bytes = 65536
reconnect.backoff.max.ms = 1000
reconnect.backoff.ms = 50
request.timeout.ms = 30000
retry.backoff.ms = 100
sasl.client.callback.handler.class = null
sasl.jaas.config = null
sasl.kerberos.kinit.cmd = /usr/bin/kinit
sasl.kerberos.min.time.before.relogin = 60000
sasl.kerberos.service.name = null
sasl.kerberos.ticket.renew.jitter = 0.05
sasl.kerberos.ticket.renew.window.factor = 0.8
sasl.login.callback.handler.class = null
sasl.login.class = null
sasl.login.refresh.buffer.seconds = 300
sasl.login.refresh.min.period.seconds = 60
sasl.login.refresh.window.factor = 0.8
sasl.login.refresh.window.jitter = 0.05
sasl.mechanism = GSSAPI
security.protocol = PLAINTEXT
security.providers = null
send.buffer.bytes = 131072
session.timeout.ms = 10000
ssl.cipher.suites = null
ssl.enabled.protocols = [TLSv1.2]
ssl.endpoint.identification.algorithm = https
ssl.key.password = null
ssl.keymanager.algorithm = SunX509
ssl.keystore.location = null
ssl.keystore.password = null
ssl.keystore.type = JKS
ssl.protocol = TLSv1.2
ssl.provider = null
ssl.secure.random.implementation = null
ssl.trustmanager.algorithm = PKIX
ssl.truststore.location = null
ssl.truststore.password = null
ssl.truststore.type = JKS
value.deserializer = class com.-----MessageDeserializer
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029742
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
конфиг при старте консамера:
автор allow.auto.create.topics = true
auto.commit.interval.ms = 5000
auto.offset.reset = earliest
bootstrap.servers = [o-----.se:31092]
check.crcs = true
client.dns.lookup = default
client.id =
client.rack =
connections.max.idle.ms = 540000
default.api.timeout.ms = 60000
enable.auto.commit = false
exclude.internal.topics = true
fetch.max.bytes = 52428800
fetch.max.wait.ms = 500
fetch.min.bytes = 1
group.id = ---i-group-4ceed390-2441-4e7f-b1d0-19ae4eb80a31asdfg
group.instance.id = null
heartbeat.interval.ms = 3000
interceptor.classes = []
internal.leave.group.on.close = true
isolation.level = read_committed
key.deserializer = class org.apache.kafka.common.serialization.StringDeserializer
max.partition.fetch.bytes = 1048576
max.poll.interval.ms = 300000
max.poll.records = 400
metadata.max.age.ms = 300000
metric.reporters = []
metrics.num.samples = 2
metrics.recording.level = INFO
metrics.sample.window.ms = 30000
partition.assignment.strategy = [class org.apache.kafka.clients.consumer.RangeAssignor]
receive.buffer.bytes = 65536
reconnect.backoff.max.ms = 1000
reconnect.backoff.ms = 50
request.timeout.ms = 30000
retry.backoff.ms = 100
sasl.client.callback.handler.class = null
sasl.jaas.config = null
sasl.kerberos.kinit.cmd = /usr/bin/kinit
sasl.kerberos.min.time.before.relogin = 60000
sasl.kerberos.service.name = null
sasl.kerberos.ticket.renew.jitter = 0.05
sasl.kerberos.ticket.renew.window.factor = 0.8
sasl.login.callback.handler.class = null
sasl.login.class = null
sasl.login.refresh.buffer.seconds = 300
sasl.login.refresh.min.period.seconds = 60
sasl.login.refresh.window.factor = 0.8
sasl.login.refresh.window.jitter = 0.05
sasl.mechanism = GSSAPI
security.protocol = PLAINTEXT
security.providers = null
send.buffer.bytes = 131072
session.timeout.ms = 10000
ssl.cipher.suites = null
ssl.enabled.protocols = [TLSv1.2]
ssl.endpoint.identification.algorithm = https
ssl.key.password = null
ssl.keymanager.algorithm = SunX509
ssl.keystore.location = null
ssl.keystore.password = null
ssl.keystore.type = JKS
ssl.protocol = TLSv1.2
ssl.provider = null
ssl.secure.random.implementation = null
ssl.trustmanager.algorithm = PKIX
ssl.truststore.location = null
ssl.truststore.password = null
ssl.truststore.type = JKS
value.deserializer = class com.-----MessageDeserializer


Это к чему?
В соседнем топике не ты?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029782
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Андрей. Я предлагаю завести дефект здесь https://issues.apache.org/jira/projects/KAFKA/issues/KAFKA-10869?filter=allopenissues
и если его закроют с резолюцией - не баг тогда это просто особенность конфигурации или софта.

Я также в дальнейшем предлагаю не поднимать топики по кафке здесь, в форуме Java т.к. экспертизы не хватает.

я в рамках этого форума задавал этот вопрос в других топиках там тоже никто не знает ничего. хотя проблему в интернете загуглить можно. вот решения - нет.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029785
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT
что значит выложить баг?

SSCCE Short, Self Contained, Correct (Compilable), Example .

Без запускаемого примера который показывает как теряются двести мессаджей, с вами разговаривать не о чем. Потому что ожидать о твас можно всё чего угодно, вплоть до включенного автокомита в комбинации с проглатыванием эксепшенов - тобишь прочитали пачку мессаджей упали при обработке первого же из пачки не дойдя до следующего, а в итоге всю пачку всё равно закомитили. В кафке вам баги нужно искать в самую последнюю очередь, поэтому берите Testcontainers Kafka и выкладывайте проектик на гитхаб демонстрирующий потерю 200 мессаджей при его запуске, тогда и поговорим, заодно и кафку сразу не отходя от кассы пофиксим, если там конечно действительно есть баг, в чем я очень сильно сомневаюсь.

так я не говорю что кафка глючит или код глючит.
я говорю что оффсет меняется нелинейно. МОЖЕТ быть такое что если это компакт-топик и если продьссер послал тампбстоун то эти мессаджи находящиеся под оффсетами х, х+1, х+2 и т.п. затираются и потом когда консамер по ним бежит он их скипает? или у всех мессаджей по офсетам смещение идет сразу? мне кажется это накладно и проще так как я выше написал?

ну типа партиция А. там мессаджи 1,2,3,4,5,6,7,8,9,10. консамер шлет по айдишкам мессаджей которые лежат в оффсетах 4,5,6 три тамбстона. получается 1,2,3,7,8,9,10 -- и их я и получаю. такое возможно?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029795
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
mayton
Андрей. Я предлагаю завести дефект здесь https://issues.apache.org/jira/projects/KAFKA/issues/KAFKA-10869?filter=allopenissues
и если его закроют с резолюцией - не баг тогда это просто особенность конфигурации или софта.

Я также в дальнейшем предлагаю не поднимать топики по кафке здесь, в форуме Java т.к. экспертизы не хватает.

я в рамках этого форума задавал этот вопрос в других топиках там тоже никто не знает ничего. хотя проблему в интернете загуглить можно. вот решения - нет.

Ему 5 человек - Приведи демку.
Он 20 раз - "я везде задавал этот вопрос..."))))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029797
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT
пропущено...

я в рамках этого форума задавал этот вопрос в других топиках там тоже никто не знает ничего. хотя проблему в интернете загуглить можно. вот решения - нет.

Ему 5 человек - Приведи демку.
Он 20 раз - "я везде задавал этот вопрос..."))))

а кто тебе сказал что на демке оно повторится? может мне тебе скинуть 50 гигабайт образов где полностью вся инфра развертывается? и прогнать все 150 тысяч тесткейсов после которых оно проявляется? а ты такой глядя на 50 гигов поковыряешь в носу и выдашь без звизды ценное мнение что "тут что то не так".
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029799
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Если ошибка не повторяется то об этом говорят всем пятерым прогерам просившим от тебя демку.
2. Чтобы доказать что она не повторяется надо..... предоставить демку.
Итого у тебя лень или ковыряние в носу?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029802
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,
Если ошибка не повторяется то об этом говорят всем пятерым прогерам просившим от тебя демку.
2. Чтобы доказать что она не повторяется надо..... предоставить демку.
Итого у тебя лень или ковыряние в носу?

какую демку?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029803
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей. Извини. Я иногда бываю нудный. Черта такая у меня.

А к каким последствиям на уровне 'Application' приводит пропуск в оффсетах.

Я вот знаю что в мессенжиговых системах SysGUID в качестве идентификатора - это норм.
И слабые контракты (которые мы обсудили выше) это тоже как-бы нормально.

Тоесть может проблемы нет вообще?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029805
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
andreykaT,
Если ошибка не повторяется то об этом говорят всем пятерым прогерам просившим от тебя демку.
2. Чтобы доказать что она не повторяется надо..... предоставить демку.
Итого у тебя лень или ковыряние в носу?

какую демку?

Давай по шагам.
Тут проясняет?
[22249441]
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029807
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Андрей. Извини. Я иногда бываю нудный. Черта такая у меня.

А к каким последствиям на уровне 'Application' приводит пропуск в оффсетах.

Я вот знаю что в мессенжиговых системах SysGUID в качестве идентификатора - это норм.
И слабые контракты (которые мы обсудили выше) это тоже как-бы нормально.

Тоесть может проблемы нет вообще?

смотри.. есть бд. есть сервис. сервис все создания изменения удаления сущностей спамит в некий топик. то есть ключ записи равен ключу в бд. итого у нас в топике всегда должно быть количество ключей равно количеству записей в бд (или БОЛЬШЕ. но не меньше). если из бд убирают запись в топик шлется тамбстон, в топике эта запись "исчезает" (вопрос как). далее, я вытягиваю всю цепь из ключей и у меня должно получиться 1 к 1му с бд. ну то есть если там миллион записей то и у меня должен быть миллион уникальных ключей.

у меня же миллиона НЕТ. у меня нет не то чтоб потерь в 1-2% у меня потери процентов 40.
как это выглядит? я начинаю тянуть из топика сообщения и у меня происходит то что выше оффсет меняется +1 +1 +1 а потом раз и +25444

во что это выливается? я теряю ключи я не имею копию того что лежит в бд. а я должен ее иметь в некоем сферическом моенте времени когда в бд никаких обновлений нет и очередь сообщений вся пройдена они должны быть идентичными.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029810
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT
пропущено...

какую демку?

Давай по шагам.
Тут проясняет?
[22249441]

твои сообщения не несут никакого смысла.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029813
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

во что это выливается? я теряю ключи я не имею копию того что лежит в бд. а я должен ее иметь в некоем сферическом моенте времени когда в бд никаких обновлений нет и очередь сообщений вся пройдена они должны быть идентичными.

Ну вот это другое дело. Кафка теряет месседжи!
С этого надо было топик и начинать! А не с математики оффестов.

Надо взять твою текущую версию Кафки и ходить с ней в техподдержку. В этом форуме - как видишь
никто не занимался такой тонкой настройкой кафок.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029814
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Дак тебя пятеро просили, дорогой)))))))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029815
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
andreykaT

во что это выливается? я теряю ключи я не имею копию того что лежит в бд. а я должен ее иметь в некоем сферическом моенте времени когда в бд никаких обновлений нет и очередь сообщений вся пройдена они должны быть идентичными.

Ну вот это другое дело. Кафка теряет месседжи!
С этого надо было топик и начинать! А не с математики оффестов.

Надо взять твою текущую версию Кафки и ходить с ней в техподдержку. В этом форуме - как видишь
никто не занимался такой тонкой настройкой кафок.

так может это не кафка? может это тамбстоны так себя ведут?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029816
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,
Дак тебя пятеро просили, дорогой)))))))

что тебе даст тот факт что на демо это не воспроизводится? или наоборот воспроизводится?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029817
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот свежая статья от 19 года.
https://developer20.com/when-you-can-nose-messages-in-kafka/

Тут говорят про
Код: java
1.
2.
3.
acks = 
batch.size =
linger.ms = 
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029818
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029819
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Вот свежая статья от 19 года.
https://developer20.com/when-you-can-nose-messages-in-kafka/

Тут говорят про
Код: java
1.
2.
3.
acks = 
batch.size =
linger.ms = 



ммм

During consuming messages, the consumer (subscriber) sends his current offset to the broker. This is the place where data loss can happen. There are, at least, two plots when it may happen.

The first scenario is consuming in parallel. Imagine a situation where 2 messages come to a consumer: A and B. All the messages are processed in parallel. Processing the messages, B was successful, and the offset was committed. However, handling the message, A produced an error. Because the message B has a larger offset, Kafka will save the latest offset and the message A never comes back to the consumer.



медитирую.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029820
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
andreykaT,
Дак тебя пятеро просили, дорогой)))))))

что тебе даст тот факт что на демо это не воспроизводится? или наоборот воспроизводится?
а разве только я просил?
Пять прогеров не правы, а вы Д'артаньян))))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029821
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чет я подозреваю что не в пропаже мессаджей проблема, а в том что он хочет консистентный снапшот данных на какой то момент, что как бы в распределенной системе.. кхм..

Пропадают ли сообщения проверить легко - просто писать в лог айдишки и сверить с тем что в базе. подозреваю что все совпадет
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029824
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
andreykaT

во что это выливается? я теряю ключи я не имею копию того что лежит в бд. а я должен ее иметь в некоем сферическом моенте времени когда в бд никаких обновлений нет и очередь сообщений вся пройдена они должны быть идентичными.

Ну вот это другое дело. Кафка теряет месседжи!
С этого надо было топик и начинать! А не с математики оффестов.

Надо взять твою текущую версию Кафки и ходить с ней в техподдержку. В этом форуме - как видишь
никто не занимался такой тонкой настройкой кафок.

Ходим по кругу.
13 декабря 22247377
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029825
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
Чет я подозреваю что не в пропаже мессаджей проблема, а в том что он хочет консистентный снапшот данных на какой то момент, что как бы в распределенной системе.. кхм..

Пропадают ли сообщения проверить легко - просто писать в лог айдишки и сверить с тем что в базе. подозреваю что все совпадет

Мда... есть какая-то натяжка.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029832
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
Чет я подозреваю что не в пропаже мессаджей проблема, а в том что он хочет консистентный снапшот данных на какой то момент, что как бы в распределенной системе.. кхм..

Пропадают ли сообщения проверить легко - просто писать в лог айдишки и сверить с тем что в базе. подозреваю что все совпадет

подробнее?
я собираю айдишки. и у меня не совпадает.
тут товарищ предложил выгрузить все партиции в текстовые файлы и уже их парсить (90 миллионов записей ну такое)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029834
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
пропущено...

Ну вот это другое дело. Кафка теряет месседжи!
С этого надо было топик и начинать! А не с математики оффестов.

Надо взять твою текущую версию Кафки и ходить с ней в техподдержку. В этом форуме - как видишь
никто не занимался такой тонкой настройкой кафок.

Ходим по кругу.
13 декабря 22247377

петя, здесь много других прекрасных и замечательных тем где очень не хватает твоего присутствия. я серьезно. люди страдают людям надо срочно узнать твое мнение. там.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029835
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

короче, 100500 проблем. я кажется, догадываюсь почему в некоторых топиках намеренно не делают больше одной партиции.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029837
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

тут товарищ предложил выгрузить все партиции в текстовые файлы и уже их парсить (90 миллионов записей ну такое)

Полностью поддерживаю, что такое 90 миллионо в наше время - пыль.
Так ты хотя бы поймешь, проблема с офсетами, потерей мессаджей или просто кривые руки. хз что тут еще советовать. это было бы первым что я сделал. Или сделай запись в другую базу. а потом тупо каунт
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029839
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понял про запись в другую базу и каунт.

я это сейчас и делаю. запись в другую базу и каунт - нету 30-40% записей. причем перечитываю топик - каждый раз количество собранных мессаджей РАЗНОЕ и разное не на 10-20 там )) а на сотни тысяч или миллионы )))
залогировал как меняются оффсеты. как они меняются я написал сверху.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029840
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот прям сейчас распределение оффсетов по партициям.
внимание.. читает ОДИН консамер. стартовые позиции были примерно равны (т.е. в районе 7 миллионов каждый).

{
"0": 730933,
"1": 773311,
"2": 967338,
"3": 796927,
"4": 786933,
"5": 379265,
"6": 1152434,
"7": 968764,
"8": 966905,
"9": 1171124,
"10": 1173417,
"11": 1168902
}
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029841
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
причем,если читает 12 консамеров, то количество прочтенных сообщений больше чем если читает один )

это што воще такое.
зы. групайди и т.п. это 100% что он уникален и никто не подчитывает ничего на стороне.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029842
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот какая картина по оффсетам через промежуток времени когда был отправлен предыдущий джейсон в этот форум

{
"0": 264172,
"1": 340090,
"2": 348882,
"3": 334139,
"4": 378872,
"5": 201531,
"6": 336337,
"7": 334124,
"8": 334185,
"9": 451485,
"10": 450798,
"11": 439557
}

скорость чтения - 400 мессаджей раз в 300 мс полл. где они мать их?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029843
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по девятой партиции было 1.7 миллиона, а теперь 451к, за три минуты читая одним консамером с 12ти топиков по 1000 сообщений в секунду?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029844
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
пропущено...

Ходим по кругу.
13 декабря 22247377

петя, здесь много других прекрасных и замечательных тем где очень не хватает твоего присутствия. я серьезно. люди страдают людям надо срочно узнать твое мнение. там.

Ну ты же все равно будешь делать демку)))))
Уже начал)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029847
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошло еще немного времени с предыдущего сообщения (меньше минуты):

{
"0": 241237,
"1": 337006,
"2": 341507,
"3": 312288,
"4": 366697,
"5": 189414,
"6": 334069,
"7": 240546,
"8": 252302,
"9": 427357,
"10": 425334,
"11": 425320
}
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029851
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот код:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
    private void startPollPartitionsTask() {
        vertx.setPeriodic(pollDelay, timerId -> {
            timerIds.put(timerId, true);
            kafkaConsumer.poll(Duration.ofMillis(pollDelay), ar1 -> {
                if (ar1.succeeded()) {
                    KafkaConsumerRecords<String, T> records = ar1.result();
                    logger.info("Consumer={}. Processing {} records from the topic={}", consumerId, records.size(), topic);
                    for (int i = 0; i < records.size(); i++) {
                        KafkaConsumerRecord<String, T> record = records.recordAt(i);
                        vertx.executeBlocking(promise -> executeOnRecordReceivedAction(record, promise, recordReceivedAction), res -> {
                            if (res.result() instanceof Exception) {
                                logger.error("Consumer: {}. Fail to ingest entity. key: {}. Stopping process", consumerId, record.key());
                                ((Exception) res.result()).printStackTrace();
                                killConsumer();
                                logger.error("Consumer: {}. Polling process is stopped", consumerId);
                            }
                        });
                    }
                    kafkaConsumer.commit();
                }
                if (ar1.failed()) {
                    logger.error("Consumer={}. Polling process failed", consumerId);
                    ar1.cause().printStackTrace();
                }
            });
        });
    }


код - практически копипаста с доки вертикса.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029853
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

Ну вот. А ты с 10 декабря с петей боролся
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029854
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

Логи то где, программизд?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029855
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,

Логи то где, программизд?

какие логи? в логах ничего нет.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029857
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
andreykaT,

Логи то где, программизд?

какие логи? в логах ничего нет.

logger.info("Consumer={}. Processing {} records from th...
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029861
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT
пропущено...

какие логи? в логах ничего нет.

logger.info("Consumer={}. Processing {} records from th...

там всегда значение равное максимальному количеству сообщений принимаемых при полле. когда очередь пройдена - то ноль.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029863
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
пропущено...

logger.info("Consumer={}. Processing {} records from th...

там всегда значение равное максимальному количеству сообщений принимаемых при полле. когда очередь пройдена - то ноль.
ох и болтун. Тебя еще не уволили?
Если всегда одно и тоже то выкинь это из кода.
Где логирование твоих офсетов и пропажи сообщений?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029866
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT
пропущено...

там всегда значение равное максимальному количеству сообщений принимаемых при полле. когда очередь пройдена - то ноль.
ох и болтун. Тебя еще не уволили?
Если всегда одно и тоже то выкинь это из кода.
Где логирование твоих офсетов и пропажи сообщений?

логирование оффсетов есть. сверху джейсон это то что пишется в логи. я не пойму как тебе поможет кусок лога где оффсет был -1 -1 -1 -1 -1 -1 -1 -1 -100500? между такими резкими изменениями в логах ничего нет.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029871
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Петро вобщем-то прав.

Логи являются формальным доказательством некого факта внутри кода.
Мы-же не можем в уме скомпилировать и воспроизвести? Даже скудные логи
- это пруф.

А словесные комментарии заставляют нас морщить лоб и пытаться вникнуть в суть
метафор которых можно было-бы просто избежать.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029874
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Петро вобщем-то прав.

Логи являются формальным доказательством некого факта внутри кода.
Мы-же не можем в уме скомпилировать и воспроизвести? Даже скудные логи
- это пруф.

А словесные комментарии заставляют нас морщить лоб и пытаться вникнуть в суть
метафор которых можно было-бы просто избежать.

Этому джуну бесполезно.
Он тут для развлечения работающих.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029875
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

>я не пойму как тебе поможет....
Идут испытания нового лекарства. Пациенты
поделены на две группы - опытную и контрольную.
Один из пациентов заходит к врачу:
- Доктор, почему вы заменили мой препарат?
Доктор (очень осторожно):
- А что заставляет вас думать, что я его
заменил?
- Понимаете, раньше, когда я кидал эти
таблетки в унитаз, они плавали, а теперь
вдруг стали тонуть.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029879
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
вот прям сейчас распределение оффсетов по партициям.
внимание.. читает ОДИН консамер. стартовые позиции были примерно равны (т.е. в районе 7 миллионов каждый).

{
"0": 730933,
"1": 773311,
"2": 967338,
"3": 796927,
"4": 786933,
"5": 379265,
"6": 1152434,
"7": 968764,
"8": 966905,
"9": 1171124,
"10": 1173417,
"11": 1168902
}

Это простите распределение каких офсетов??? Офсет первого мессаджа в партиции? Офсет последнего мессаджа в партиции? Офсет который консумер закомитил? Офсет до которого консумер дочитал? Офсет последнего мессаджа который может быть прочитан(aka watermark)?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029881
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
а вот код:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
    private void startPollPartitionsTask() {
        vertx.setPeriodic(pollDelay, timerId -> {
            timerIds.put(timerId, true);
            kafkaConsumer.poll(Duration.ofMillis(pollDelay), ar1 -> {
                if (ar1.succeeded()) {
                    KafkaConsumerRecords<String, T> records = ar1.result();
                    logger.info("Consumer={}. Processing {} records from the topic={}", consumerId, records.size(), topic);
                    for (int i = 0; i < records.size(); i++) {
                        KafkaConsumerRecord<String, T> record = records.recordAt(i);
                        vertx.executeBlocking(promise -> executeOnRecordReceivedAction(record, promise, recordReceivedAction), res -> {
                            if (res.result() instanceof Exception) {
                                logger.error("Consumer: {}. Fail to ingest entity. key: {}. Stopping process", consumerId, record.key());
                                ((Exception) res.result()).printStackTrace();
                                killConsumer();
                                logger.error("Consumer: {}. Polling process is stopped", consumerId);
                            }
                        });
                    }
                    kafkaConsumer.commit();
                }
                if (ar1.failed()) {
                    logger.error("Consumer={}. Polling process failed", consumerId);
                    ar1.cause().printStackTrace();
                }
            });
        });
    }


код - практически копипаста с доки вертикса.


Это не есть самозапускаемый код который любой из нас может запустить и найти в нём ошибку. Делайте как положено на maven или gradle самодостаточный проект на гитхаб. Ну это конечно если вам интересно понять где у вас пробелы и закрыть их. Если ответы на вопросы и повышение собственной квалификации вас на самом деле интересуют, а вы здесь для того чтобы просто бездаказуемо потрындеть как Навальный что кафка теряет мессаджи, то продолжайте в том же духе.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029912
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT
вот прям сейчас распределение оффсетов по партициям.
внимание.. читает ОДИН консамер. стартовые позиции были примерно равны (т.е. в районе 7 миллионов каждый).

{
"0": 730933,
"1": 773311,
"2": 967338,
"3": 796927,
"4": 786933,
"5": 379265,
"6": 1152434,
"7": 968764,
"8": 966905,
"9": 1171124,
"10": 1173417,
"11": 1168902
}

Это простите распределение каких офсетов??? Офсет первого мессаджа в партиции? Офсет последнего мессаджа в партиции? Офсет который консумер закомитил? Офсет до которого консумер дочитал? Офсет последнего мессаджа который может быть прочитан(aka watermark)?

с каждым поллом и коммитом числа стремятся к нулю. то есть когда дошли до "конца" топика - стал ноль. 0-11 это партиции
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029913
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT
а вот код:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
    private void startPollPartitionsTask() {
        vertx.setPeriodic(pollDelay, timerId -> {
            timerIds.put(timerId, true);
            kafkaConsumer.poll(Duration.ofMillis(pollDelay), ar1 -> {
                if (ar1.succeeded()) {
                    KafkaConsumerRecords<String, T> records = ar1.result();
                    logger.info("Consumer={}. Processing {} records from the topic={}", consumerId, records.size(), topic);
                    for (int i = 0; i < records.size(); i++) {
                        KafkaConsumerRecord<String, T> record = records.recordAt(i);
                        vertx.executeBlocking(promise -> executeOnRecordReceivedAction(record, promise, recordReceivedAction), res -> {
                            if (res.result() instanceof Exception) {
                                logger.error("Consumer: {}. Fail to ingest entity. key: {}. Stopping process", consumerId, record.key());
                                ((Exception) res.result()).printStackTrace();
                                killConsumer();
                                logger.error("Consumer: {}. Polling process is stopped", consumerId);
                            }
                        });
                    }
                    kafkaConsumer.commit();
                }
                if (ar1.failed()) {
                    logger.error("Consumer={}. Polling process failed", consumerId);
                    ar1.cause().printStackTrace();
                }
            });
        });
    }


код - практически копипаста с доки вертикса.


Это не есть самозапускаемый код который любой из нас может запустить и найти в нём ошибку. Делайте как положено на maven или gradle самодостаточный проект на гитхаб. Ну это конечно если вам интересно понять где у вас пробелы и закрыть их. Если ответы на вопросы и повышение собственной квалификации вас на самом деле интересуют, а вы здесь для того чтобы просто бездаказуемо потрындеть как Навальный что кафка теряет мессаджи, то продолжайте в том же духе.

никто из вас даже не удосужится собрать и запустить. смысл мне анонить и лопатить несколько тысяч строк кода чтоб на него только посмотрели со стороны?

выше вон уже предложили запустить локально. ок. запустил. работает. оффсеты не прыгают. что дальше? баг не воспроизводится?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029917
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
>никто из вас даже не удосужится собрать и запустить
У ленивых ТС так и есть. Их топик читают по диагонали и проходят мимо.
Кинул портянку конфига вместо 3 ключевых параметров и код в ктором логеры не нужны так как они ноль всегда показывают.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029921
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе не надо ничего лопатить.

Ты можешь взять свой конфиг + hello world который просто воспроизводит нагрузку.

Но это должен сделать ты.

Никто из здесь присутствующих не мотивирован искусственно шатать кафку, доказывая наличие бага.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029922
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
по девятой партиции было 1.7 миллиона, а теперь 451к, за три минуты читая одним консамером с 12ти топиков по 1000 сообщений в секунду?

Это надо умудриться создать всего одного читателя на аж 10 партиций.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029924
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
А кто ему что локально предложил? Где?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029928
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
причем,если читает 12 консамеров, то количество прочтенных сообщений больше чем если читает один )

это што воще такое.
зы. групайди и т.п. это 100% что он уникален и никто не подчитывает ничего на стороне.

Рано тебе до кафки.
Надо два читателя в одной группе + 2 партишена + выкл автокоммита + коммит ручками +логирование + прямые руки.
Иди работай!
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029934
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

никто из вас даже не удосужится собрать и запустить. смысл мне анонить и лопатить несколько тысяч строк кода чтоб на него только посмотрели со стороны?

С чего такое заранее негативное отношение на форуме друзей? Я например консультирую по вопросам внедрения кафки и помогаю с оптимизациями у себя в компании. Если код будет самозапускаемым мне не сложно будет за пару минут найти баг в твоём коде.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029940
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
vimba
пропущено...

Это простите распределение каких офсетов??? Офсет первого мессаджа в партиции? Офсет последнего мессаджа в партиции? Офсет который консумер закомитил? Офсет до которого консумер дочитал? Офсет последнего мессаджа который может быть прочитан(aka watermark)?

с каждым поллом и коммитом числа стремятся к нулю. то есть когда дошли до "конца" топика - стал ноль. 0-11 это партиции

Спешу вас огорчить это не офсеты. С комитами уменьшается consumer lag - что есть разница между верхней границей того что написал продьюсер и того что закомитил продьюсер . Я специально написал закомитил, а не обработал, потому что можно комитить не обрабатывая, более того даже не читая.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029941
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba,
Вау! Ты перевернул мир! ТС пол жизни отдал в борьбе с оффсетами)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029966
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
авторчто за..? загуглил на эту тему написали что да вот де бывает ребаланс и может скипануть. взял другой топик. там только одна партиция. тоже самое запустил шарманку. ничего не скипает.
Вам стыдно дать ссылку на ваш ответ по ребалансу?
И какой может быть ребаланс с ОДНОЙ партицией?
Два простых вопроса и совсем без кода)
"не мытьем, так катаньем" (с)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029969
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT
по девятой партиции было 1.7 миллиона, а теперь 451к, за три минуты читая одним консамером с 12ти топиков по 1000 сообщений в секунду?

Это надо умудриться создать всего одного читателя на аж 10 партиций.

если ты чуть более внимателен был бы - то увидел бы что партиций 12. читателей значения нет сколько. 1 или 12. вернее есть. если читатель 1 то какой то волшебный процесс происходит чаще и мессаджей "теряется" больше.
если читателей 12 то иногда получается выгребсти почти 90% мессаджей. но это не тебе сказано. можешь не читать. )
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029971
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT
пропущено...

с каждым поллом и коммитом числа стремятся к нулю. то есть когда дошли до "конца" топика - стал ноль. 0-11 это партиции

Спешу вас огорчить это не офсеты. С комитами уменьшается consumer lag - что есть разница между верхней границей того что написал продьюсер и того что закомитил продьюсер . Я специально написал закомитил, а не обработал, потому что можно комитить не обрабатывая, более того даже не читая.

эти числа я получаю так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
    private void collectMaxPartitionsAndOffsets() {
        kafkaConsumer.partitionsFor(topic, pts -> {
            if (pts.succeeded()) {
                kafkaConsumer.endOffsets(pts.result().stream().map(p -> new TopicPartition().setTopic(topic).setPartition(p.getPartition())).collect(Collectors.toSet()),
                        res -> {
                            if (res.succeeded()) {
                                maxTopicOffsetsRegistry = res.result().entrySet().stream()
                                        .collect(Collectors.toConcurrentMap(
                                                e -> e.getKey().getPartition(),
                                                Map.Entry::getValue));
                                logger.info("Consumer={}, Added endOffset data for partitions registry={}", consumerId, maxTopicOffsetsRegistry);
                            }
                        }
                );
            }
            if (pts.failed()) {
                logger.error("Consumer={}. Failed to collect available partitions", consumerId);
                pts.cause().printStackTrace();
            }
        });
    }



а получаю текущее значение оффсетов по партициям так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
  consumer.partitionsFor(topic, pts -> {
            if (pts.succeeded()) {
                Set<TopicPartition> topicPartitions = pts.result().stream().map(p -> new TopicPartition().setTopic(topic).setPartition(p.getPartition())).collect(Collectors.toSet());
                topicPartitions.forEach(tp -> {
                    consumer.committed(tp, cmt -> {
                        if (cmt.succeeded()) {
                            Long committedOffset = cmt.result().getOffset();
                            Integer topicPartition = tp.getPartition();
                            committedPartitionOffsets.put(topicPartition, committedOffset);
                        }
                        if (cmt.failed()) {
                            logger.error("Failed to fetch commited partitions list");
                            cmt.cause().printStackTrace();
                        }
                    });
                });



эти числа сверху что бы они не показывали они показывают то сколько осталось мессаджей до того момента когда консамеры стали слушать топик.

и да. когда оно доходит до нуля (плюс-минус несколько сообщений) - далее движения никакого НЕТ. то есть полл проходит - сообщений ноль. я пробовал ставить в бесконечность - та же фигня.
что бы это ни было как бы это ни было. когда оно становится нулем новые сообщения не выгребаются. до тех пор пока их кто нибудь не запостит в топик.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029973
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как можно коммитить не читая? можно читать и не коммитить. но коммитить и не читать?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029982
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
пропущено...

Это надо умудриться создать всего одного читателя на аж 10 партиций.

если ты чуть более внимателен был бы - то увидел бы что партиций 12. читателей значения нет сколько. 1 или 12. вернее есть. если читатель 1 то какой то волшебный процесс происходит чаще и мессаджей "теряется" больше.
если читателей 12 то иногда получается выгребсти почти 90% мессаджей. но это не тебе сказано. можешь не читать. )

Бред какой то))
Повторюсь:
авторРано тебе до кафки.
Надо два читателя в одной группе + 2 партишена + выкл автокоммита + коммит ручками +логирование + прямые руки.
Иди работай!
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40029988
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда у меня не работает кастомная конфигурация - я переключаюсь на дефолтную.

Потом осторожно. Параметр за параметром начинаю применять изменения.

Да - современные системы - сложные как ракета. И их конечно можно ушатать
конфигурациями. Но должен-же быть какой-то итеративный процесс внесения
изменений.

Даже архитекторы и кафка-саппорт не сделают диагностику по самому факту
потери сообщений. Им нужны дампы памяти и стек-трейсы всех работающих
потоков. Нужны счетчики событий по JMX компонентам. Нужны снапшоты
с операционной системы по статистике TCP/IP.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030000
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
как можно коммитить не читая? можно читать и не коммитить. но коммитить и не читать?

Что значит как? Берёшь и дергаешь commit на консумере передавая как параметр смещения в партициях которое хочешь закомитить. Более того можно комитить не то что не читая, можно комитить мессаджи которые даже ещё не записаны продьюсером, тобишь комитить наперёд. Внимательно читайте документацию к технологии которую используете.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030020
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получается наш дорогой сквернослов ТС не разобрался в коммитах.
Кроме того не слушал советы другого форума про ребаланс.
В своем коде (мы его не видим) не делал коммитов и кафка посчитала что клиент мёртв/отвалился. Следовательно сделала ребаланс партишенов.
Появились дырки в оффсетах и ТС заклинило от них.
Это догадки так как кода нет уже 4 страницы.
Наш форум самый терпеливый (с)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030075
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT
как можно коммитить не читая? можно читать и не коммитить. но коммитить и не читать?

Что значит как? Берёшь и дергаешь commit на консумере передавая как параметр смещения в партициях которое хочешь закомитить. Более того можно комитить не то что не читая, можно комитить мессаджи которые даже ещё не записаны продьюсером, тобишь комитить наперёд. Внимательно читайте документацию к технологии которую используете.

ээээ. в вертиксе коммит передается без параметра. окей спасибо уточню. я думаю оно само знает текущие прочитанные оффсеты и их и засылает.

возможно вы правы и это вообще косяк вертикса.

я пробовал выбрать автокоммит. ничего не изменилось в поведении.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030076
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Получается наш дорогой сквернослов ТС не разобрался в коммитах.
Кроме того не слушал советы другого форума про ребаланс.
В своем коде (мы его не видим) не делал коммитов и кафка посчитала что клиент мёртв/отвалился. Следовательно сделала ребаланс партишенов.
Появились дырки в оффсетах и ТС заклинило от них.
Это догадки так как кода нет уже 4 страницы.
Наш форум самый терпеливый (с)

если ты хотя бы посмотришь код выше то увидишь что коммит происходит по факту успешного получения и процессинга мессаджей.
собссно то о чем я и говорил. выкладывать портки кода смысла нет - их никто не читает. и ты это подтвердил.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030077
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
>я пробовал
Кто ж тебе поверит?))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030078
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
Получается наш дорогой сквернослов ТС не разобрался в коммитах.
Кроме того не слушал советы другого форума про ребаланс.
В своем коде (мы его не видим) не делал коммитов и кафка посчитала что клиент мёртв/отвалился. Следовательно сделала ребаланс партишенов.
Появились дырки в оффсетах и ТС заклинило от них.
Это догадки так как кода нет уже 4 страницы.
Наш форум самый терпеливый (с)

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

Мы остановились на логировании.
А я ленивых прогеров не обслуживаю.
Ссылку как тебя послали на другом форуме ты тоже не дал.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030081
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так игнорируй меня. я же тебе это предложил еще вчера?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030082
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT
как можно коммитить не читая? можно читать и не коммитить. но коммитить и не читать?

Что значит как? Берёшь и дергаешь commit на консумере передавая как параметр смещения в партициях которое хочешь закомитить. Более того можно комитить не то что не читая, можно комитить мессаджи которые даже ещё не записаны продьюсером, тобишь комитить наперёд. Внимательно читайте документацию к технологии которую используете.

да. нашел метод коммита где явно надо указывать партицию и оффсеты. пожалуй, попробую явным образом.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030083
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
так игнорируй меня. я же тебе это предложил еще вчера?
после демки. У тебя плохо с памятью.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030129
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделал ручные коммиты с вытаскиванием оффсета из рекорда и отсылкой оффсета коммитом назад. запустил. смотрю. жду.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030139
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
та же хрень.

читаю рекорды при полле. у рекорда оффсет 1.2.3.4.5.6.7.8.2001.2002.2003.2004.50001.50002.50003.....52333.1000001.1000002..
коммичу естественно 1 к 1 то что прочитал.
при полле прилетают оффсеты с прыжками.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030142
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Ребаланс был или нет, чучело.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030145
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTзагуглил на эту тему написали что да вот де бывает ребаланс
10 дней назад наш молодой прогер написал.
Дальше он две недели стонет и за петей гоняется
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030164
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче качаю все мессаджи в файл. посчитаю по файлу должно быть порядка ста лямов. есби будет сто лямов значит вертикс на помойку.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030168
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в середине лекции Алименков предлагает различные сценарии по улучшению взаимодействия JMS систем.

YouTube Video
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030170
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
передача ключей мессаджей это один из стандартных шаблонов интеграции. ничего особо нового :)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030180
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты уже реализовал передачу пачек?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030220
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Ты уже реализовал передачу пачек?

формат мессаджа предусматривает что там может приходить 1+н элементов. но шлют практически всегда 1 элемент. если ты об этом.
я ничего не передаю я только слушаю.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030225
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно ли я понимаю что ты не влияешь на producer?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030226
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Правильно ли я понимаю что ты не влияешь на producer?

ни на продюсер ни на конфиг кафки.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030228
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то все ... печально.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030230
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Как-то все ... печально.
пусть позовет взрослого)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030232
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Как-то все ... печально.

выкачиваю весь топик в файл. проанализирую дальше видно будет. пока уже мессаджей выкачал больше чем по моим подсчетам выходило через вертикс. если так то выкину вертикс на помойку.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030243
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
mayton
Как-то все ... печально.

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

10 дней по 8 часов это 80 часов ты обещал непрестанно это)).
Если поискать слово вертикс и кафка, то по всему веб только андрейка упоминается)))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030245
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что такое вертикс? Поиск выдает слишком много разного материала.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030246
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Что такое вертикс? Поиск выдает слишком много разного материала.
никто не в курсе с таким ТС))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030247
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
короче качаю все мессаджи в файл. посчитаю по файлу должно быть порядка ста лямов. есби будет сто лямов значит вертикс на помойку.

То что вертекс на помойку это даже не обсуждается. Но! Прежде чем его выкинуть нужно понять где проблема. Лень разбираться с ним(в том числе из-за того что вы не предоставили самозапускаемый проект), поэтому просто поспекулирую что vertx.executeBlocking не блокирует текущий тред, а направляет таску в какой-то тред пулл, эту гипотезу легко роверить добавив логирование текущего треда в код таски которую ты передаешь vertex. Так вот самое интересно как себя поведёт vertex когда ты начинаешь читать из кафки мессаджи бестрее чем этот тредпул пережовывает? Это вам нужно выяснить, есть такое предположение что он просто выкидывает таски которые не помещаются в очередь, или возникает эксепшен который вы не перехватываете.

Ну и опять же в продолжение спецкуляции - если текущий тред не блокируется при вызове vertx.executeBlocking , то вы комитет мессаджи до их фактической обработки, что может привести к потерям, если с обработкой что-то не задалось.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030255
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В это форуме давно уже никого нет. Я не знаю кому пишет вопросы Андрейка.

Здесь остались как в старом баре - завсегдатаи. 3 человека которые сидят за барной стойкой и лениво
переругиваясь смотрят телевизор. И никто новый сюда не придет.

Все остальные 99% - ушли в Дедофорум.

Пэтому мы здесь просто треплемся.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030269
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT
короче качаю все мессаджи в файл. посчитаю по файлу должно быть порядка ста лямов. есби будет сто лямов значит вертикс на помойку.

То что вертекс на помойку это даже не обсуждается. Но! Прежде чем его выкинуть нужно понять где проблема. Лень разбираться с ним(в том числе из-за того что вы не предоставили самозапускаемый проект), поэтому просто поспекулирую что vertx.executeBlocking не блокирует текущий тред, а направляет таску в какой-то тред пулл, эту гипотезу легко роверить добавив логирование текущего треда в код таски которую ты передаешь vertex. Так вот самое интересно как себя поведёт vertex когда ты начинаешь читать из кафки мессаджи бестрее чем этот тредпул пережовывает? Это вам нужно выяснить, есть такое предположение что он просто выкидывает таски которые не помещаются в очередь, или возникает эксепшен который вы не перехватываете.

Ну и опять же в продолжение спецкуляции - если текущий тред не блокируется при вызове vertx.executeBlocking , то вы комитет мессаджи до их фактической обработки, что может привести к потерям, если с обработкой что-то не задалось.

выкачал.

получилось 13 гигов текстовый файл. посчитал все мессаджи. вышло порядка 18 миллионов.

а здесь:

{
"0": 730933,
"1": 773311,
"2": 967338,
"3": 796927,
"4": 786933,
"5": 379265,
"6": 1152434,
"7": 968764,
"8": 966905,
"9": 1171124,
"10": 1173417,
"11": 1168902
}

при старте (когда я зашел с параметром фром бегиннинг, снял максимально возможные оффсеты для каждой партиции,получил первое сообщение и его текущий оффсет и сделал 1 раз МАКС - ТЕКУЩИЙ)
при старте у меня показывало дельту по каждой партиции по примерно 7 миллионов. итого я ожидал получить 7 миллионов * 12 = 84 миллиона.

по факту я получил примерно 18 миллионов.
где еще 70 миллионов?

консольный консамер не думаю что что то мог бы потерять.

позже попробую посчитать уники среди этих 7 миллионов.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030271
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT
короче качаю все мессаджи в файл. посчитаю по файлу должно быть порядка ста лямов. есби будет сто лямов значит вертикс на помойку.

То что вертекс на помойку это даже не обсуждается. Но! Прежде чем его выкинуть нужно понять где проблема. Лень разбираться с ним(в том числе из-за того что вы не предоставили самозапускаемый проект), поэтому просто поспекулирую что vertx.executeBlocking не блокирует текущий тред, а направляет таску в какой-то тред пулл, эту гипотезу легко роверить добавив логирование текущего треда в код таски которую ты передаешь vertex. Так вот самое интересно как себя поведёт vertex когда ты начинаешь читать из кафки мессаджи бестрее чем этот тредпул пережовывает? Это вам нужно выяснить, есть такое предположение что он просто выкидывает таски которые не помещаются в очередь, или возникает эксепшен который вы не перехватываете.

Ну и опять же в продолжение спецкуляции - если текущий тред не блокируется при вызове vertx.executeBlocking , то вы комитет мессаджи до их фактической обработки, что может привести к потерям, если с обработкой что-то не задалось.

там везде бросается эксепшн который останавливает вообще консамер целиком на любой эксепшн. и да - это работает.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030298
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давай сведем твой исходник к банальности. Уж если вообще ничего непонятно - то самое простое - самое истинное.

Уберем вообще любые алгоритмы и оставим только вычитывание событи и посдчет штук.

Код: java
1.
2.
3.
AtomicInteger items = new AtomicInteger();
AtomicInteger polls = new AtomicInteger();
....



И еще. Почему здесь линии else {...} не существует. Добавь чтоли.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
 



consumer.partitionsFor(topic, pts -> {
            if (pts.succeeded()) {
                Set<TopicPartition> topicPartitions = pts.result().stream().map(p -> new TopicPartition().setTopic(topic).setPartition(p.getPartition())).collect(Collectors.toSet());
                topicPartitions.forEach(tp -> {
                    consumer.committed(tp, cmt -> {
                        if (cmt.succeeded()) {
                            Long committedOffset = cmt.result().getOffset();
                            Integer topicPartition = tp.getPartition();
                            committedPartitionOffsets.put(topicPartition, committedOffset);
                        }
                        if (cmt.failed()) {
                            logger.error("Failed to fetch commited partitions list");
                            cmt.cause().printStackTrace();
                        }
                    });
                } else {
                    .....
                }

);            



Оберни все try{...} catch еще раз. Черт его знает вдруг у тебя там валит NPE.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030309
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
vimba
пропущено...

То что вертекс на помойку это даже не обсуждается. Но! Прежде чем его выкинуть нужно понять где проблема. Лень разбираться с ним(в том числе из-за того что вы не предоставили самозапускаемый проект), поэтому просто поспекулирую что vertx.executeBlocking не блокирует текущий тред, а направляет таску в какой-то тред пулл, эту гипотезу легко роверить добавив логирование текущего треда в код таски которую ты передаешь vertex. Так вот самое интересно как себя поведёт vertex когда ты начинаешь читать из кафки мессаджи бестрее чем этот тредпул пережовывает? Это вам нужно выяснить, есть такое предположение что он просто выкидывает таски которые не помещаются в очередь, или возникает эксепшен который вы не перехватываете.

Ну и опять же в продолжение спецкуляции - если текущий тред не блокируется при вызове vertx.executeBlocking , то вы комитет мессаджи до их фактической обработки, что может привести к потерям, если с обработкой что-то не задалось.

там везде бросается эксепшн который останавливает вообще консамер целиком на любой эксепшн. и да - это работает.

Что работает??? Вы хоть осознали что вы комитите мессаджи до их фактической обработки? Я немного почитал доки к этой шайтан машине, как и ожидалось runBlocking вызывающий тред не блочится, вместо этого выполнение уводится в отдельный экзекьютор а результат можно получить через callback.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030310
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT
пропущено...

там везде бросается эксепшн который останавливает вообще консамер целиком на любой эксепшн. и да - это работает.

Что работает??? Вы хоть осознали что вы комитите мессаджи до их фактической обработки? Я немного почитал доки к этой шайтан машине, как и ожидалось runBlocking вызывающий тред не блочится, вместо этого выполнение уводится в отдельный экзекьютор а результат можно получить через callback.
То есть вы посути вычитали пачку мессаджей, насовали тасок в экзекьютор и не дожидаясь окончания их обработки комитите и идёте за следующей пачкой.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030332
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT
пропущено...

там везде бросается эксепшн который останавливает вообще консамер целиком на любой эксепшн. и да - это работает.

Что работает??? Вы хоть осознали что вы комитите мессаджи до их фактической обработки? Я немного почитал доки к этой шайтан машине, как и ожидалось runBlocking вызывающий тред не блочится, вместо этого выполнение уводится в отдельный экзекьютор а результат можно получить через callback.

код там получает результат через колбэк и падает с убийством консамера ЕСЛИ блокирующая таска бросит ЛЮБОЙ эксепшн.
этого достаточно чтоб НЕ пропустить, а просто упасть с концами.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030368
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

Если бы я был твоим коллегой, то либо меня бы в дурку забрали, либо я бы тебя прикопал бы где-нибудь, чтобы никто не нашел, третьего не дано. Я даже не знаю какие слова найти, чтобы объяснить тебе совершенно очевидную вещь, что ты в общем случае коммитишь мессаджи до того их фактической обработки. Попробую последний раз объяснить кодом, если слова не помогают, и на этом пожалуй умываю руки, потому что случай явно патологический.
А код тебе нужно переписать хотя бы так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
private void startPollPartitionsTask() {
        vertx.setPeriodic(pollDelay, timerId -> {
            timerIds.put(timerId, true);
            kafkaConsumer.poll(Duration.ofMillis(pollDelay), ar1 -> {
                if (ar1.succeeded()) {
                    KafkaConsumerRecords<String, T> records = ar1.result();

                    // we need to wait for processing all records before commit
                    CountDownLatch batchLatch = new CountDownLatch(records.size());
 
                    logger.info("Consumer={}. Processing {} records from the topic={}", consumerId, records.size(), topic);
                    for (int i = 0; i < records.size(); i++) {
                        KafkaConsumerRecord<String, T> record = records.recordAt(i);
                        vertx.executeBlocking(promise -> executeOnRecordReceivedAction(record, promise, recordReceivedAction), res -> {

                            // signal that one record has been processed
                            batchLatch.countDown();

                            if (res.result() instanceof Exception) {
                                logger.error("Consumer: {}. Fail to ingest entity. key: {}. Stopping process", consumerId, record.key());
                                ((Exception) res.result()).printStackTrace();
                                killConsumer();
                                logger.error("Consumer: {}. Polling process is stopped", consumerId);
                            }
                        });
                    }

                    // wait all records to be processed
                    batchLatch.await();

                    kafkaConsumer.commit();
                }
                if (ar1.failed()) {
                    logger.error("Consumer={}. Polling process failed", consumerId);
                    ar1.cause().printStackTrace();
                }
            });
        });
    }
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030375
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba,
>прикопал бы где-нибудь
Могу организовать). Толку от ТС все равно никакого. Имидж кафки портит.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030405
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не гоните. Андрейка - хороший. Просто он с разработкой не связан. Я так думаю
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030406
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Угу.
Ему чел говорит: "Дело в очередности!".
А он радостно: "я выгрузил 70млн сообщений!"
Это не разработка, а логика банальная.
Взимосвязь вещей в природе.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030410
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Он взял задачу которая ему не по зубам. Это очевидно.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030412
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Я не знаю почему он не любит классику программировния, как любишь ее ты
val = new....
))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030433
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу val. Я думаю что у каждой вещи есть своё предназначение.
У жопы - срать. У val/var - тоже есть смысл. И он идет КМК дальше чем просто
сокращение кода.

А рефакторинг с
Код: java
1.
List<String> list = new ArrayList();


идет лучше с явной декларацией интерфейса. Здесь бабушка Варвара Лискова довольно кивает.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030441
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Согласен. Хотя я больше о том что он сразу прыгнул на flux, message oriented middleware не пройдя путь обычных сервлетов и операторов new.
Жизненный цикл классов, конструктор, десктруктор, каллбэки вместо GoTo и поток выполнения кода.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030523
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT,


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

еще раз. ЕСЛИ что то пошло НЕ ТАК мы просто падаем и не качаем мессаджи дальше. никак. вообще никак. совсем никак. когда решим проблему - качаем все с самого начала и так до ближайшего успеха.
еще раз (2): по логам видно что смещение меняется не 1-1-1-1. даже если блокирующая операция вообще не исполняется.
еще раз (3): я из принципа прогоню твой код и вернусь с результатом.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030526
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Он взял задачу которая ему не по зубам. Это очевидно.

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

у меня два пруфа на руках - это логфайл размером в 13 гигов, ВСЕХ мессаджей выдраных с очереди. где НЕ соответствует количество записей той дельте что между бегин офсет и енд офсет.
и второй будет прям щас - ) ну часа через 3
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030527
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
>я сделаю по твоему варианту
Потребовалось 6 страниц убеждений!
Хотя вместе с кафкой идут демка подписчика и демка публикатора.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030530
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,
>я сделаю по твоему варианту
Потребовалось 6 страниц убеждений!
Хотя вместе с кафкой идут демка подписчика и демка публикатора.

ну там сверху чел хоть пытается хотя если его строчки вот так как есть вставить оно даже не соберется.
а ты до сих пор запрос фиксишь )))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030533
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
andreykaT,
>я сделаю по твоему варианту
Потребовалось 6 страниц убеждений!
Хотя вместе с кафкой идут демка подписчика и демка публикатора.

ну там сверху чел хоть пытается хотя если его строчки вот так как есть вставить оно даже не соберется.
а ты до сих пор запрос фиксишь )))

Ну дак тут мемберы приходят с вопросами вменяемые, а тебя он закопать хотел.
Ты сегодня уже 3 раза его обгадил:
- не собирается
- это не при чем
- еще раз один, два и три.
....
Продолжай всех учить!
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030538
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

у меня два пруфа на руках - это логфайл размером в 13 гигов

Продолжай заниматься фигней.
"Обещать убрать вертикс - не значит жениться" (с) андрейка
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030547
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT

у меня два пруфа на руках - это логфайл размером в 13 гигов

Продолжай заниматься фигней.
"Обещать убрать вертикс - не значит жениться" (с) андрейка

я пока не знаю стоит ли его убирать. посла анализа логов точто скажу. если поведение вертикса = поведению консольного клиента то видимо вывод даже ты догадаешься какой.

далее, если я эти локи потоков втыкаю в вертикс-приложении то вертикс тупо валится потому что в ивентлупе происходит дичь.

пример кода сверху - не рабочий. по крайней мере для вертикса. это слишком низкоуровневый инструмент.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030559
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС,
Продолжай заниматься фигней
vimba

То что вертекс на помойку это даже не обсуждается.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030560
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Пятеро сказали - дай демку
Пятеро сказали - вертекс убери.
Но ТС спорит))))) LOL
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030561
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp, надо найти tutorial. Hello-World with Kafka.

Я думаю всё у нас взлетит. И с 12 партишенами взлетит.

Ну дальше... доказывать по аналогии. Сравнивать логи. Версии.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030562
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
И тутор и демки консольные есть в поставке.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030596
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
меня вообще тут слышит кто? :) Петя ну ты понятно нет.
говорю по дельтам бегиноффсет-максоффсет у меня выходит 90 миллионов записей. выкачалось через КОНСОЛЬНЫЙ клиент 18 миллионов записей.

что еще нужно не пойму?

вопрос простой - может ли скипать оффсеты? моя прога вообще не причем. и вертикс по ходу тоже. кричать вертикс гамно потому что тру поцоны юзают чистый кафка джава сдк - это как минимум, странно.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030600
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Для тугих повторяю.
Пока не научишься слушать мемберов, никто тебе не поможет.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030602
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задачка о бассейне. Я любил такие в школе. В бассейн втекает вода из одной трубы.
И вытекает из другой. Андрейка говорит дескыть втекло 90 лямов литров. И вытекло
18 лямов.

Вопрос. Куда делись другие литры?

Друзья может кто-то соберет docker-compose файлик чтоб воспроизвести?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030603
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
А зачем нам лимоны анализировать, когда можно 5 строк кода и 10 сообщений?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030606
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не готов решать инфраструктурные вопросы по огрызку кода. Мне вообще этот код - неинформативен.

Я привых по другому. Старым дедовским способом. Сначала создать работающую систему. Потом слегка ее изменить...

Оракловая привычка.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030608
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Работающая это какая? Не по hello ли?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030609
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
На другом форуме забыл что ему сказали?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030610
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужна точка опоры. Что-то чему мы доверяем и что работает по определению. Шаблон проекта от вендора.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030652
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
А зачем нам лимоны анализировать, когда можно 5 строк кода и 10 сообщений?

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

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

8ЛЯ!

вот кафка вот топик вот консольный консамер. вот список енд-бегин офсетов, вот вводные вот выводные что тебе еще надо петя? тут джавы вообще нет. не то что вертикса.

вопрос прост как рубль в распродаже. если разница между енд-бегин офсетами 90 миллионов, а пришло 18 миллионов - означает ли это что по офсетам можно двигаться нелинейно?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030658
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
mayton,
А зачем нам лимоны анализировать, когда можно 5 строк кода и 10 сообщений?

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

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

8ЛЯ!

вот кафка вот топик вот консольный консамер. вот список енд-бегин офсетов, вот вводные вот выводные что тебе еще надо петя? тут джавы вообще нет. не то что вертикса.

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

22252909
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030661
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>вопрос прост как рубль
Мой вопрос прост как рубль - что ты ответил на вопрос в другом форуме?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030686
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на гагом другом форуме?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030698
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
на гагом другом форуме?

>загуглил на эту тему написали что да вот де бывает ребаланс
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030864
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неужели rsdn? Или дедофорум?

И ты Брут....?!
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030877
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Он глухой про ребаланс уже 6 страниц))))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030881
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошел почти весь лог. сообщений не 18 миллионов а 9 (по ходу консольный вывод добавляет один перевод строки).
далее, уже сейчас вижу расхождение - прошли 7900к уников 7050к. и снова не состыковывается. в идеале судя по настройкам компакта и с условием что продьюссер ничего не забыл должно быть +-110% сообщений или 11 миллионов сообщений означает 10 лямов уникальных ключей.

короче пока итог такой - набило сообщений больше чем моими консамерами. это факт. набило сообщений МЕНЬШЕ чем должно быть. и набило сообщений меньше чем дельта между старт-оффсет и макс оффсет.

жду результата. потом видимо, прогоню вариант что Майтон предложил.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030886
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Продолжайте следить за погодой. Мы с вами.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030887
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я уже не помню что предлагал. Кажется просто завести счетчики во всех консумерах и подсчитать
количество воды которое вытекло из бассейна. Бизнес-логику вырубить пока.

Пока не сойдется бухгалтерия - дальше разработка лишена смысла.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030890
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я уже не помню что предлагал. Кажется просто завести счетчики во всех консумерах и подсчитать
количество воды которое вытекло из бассейна. Бизнес-логику вырубить пока.

Пока не сойдется бухгалтерия - дальше разработка лишена смысла.

она пока вообще нигде и никак не сходится но я пока считаю консольный консамер точкой отсчета. если совпадет с ним то всё. успех. иду к продьюссерам.

пока по итогу с дельтой не совпадает ни мой набор данных ни набор данных из консольного консамера и между собой они тоже лол блин разные. но тут КАК Минимум я делаю вывод что просто никто не имеет представления о том КАК по оффсетам идет консамер и что с ними случается при том или ином процессе. ну и ладно. мне главное чтоб количество уников билось.

копаю дальше.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030896
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
>пока считаю консольный консамер точкой отсчета
Неужели демку консольную взял или сделал?))))))))))
Чур меня, перекрестился.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030898
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,
>пока считаю консольный консамер точкой отсчета
Неужели демку консольную взял или сделал?))))))))))
Чур меня, перекрестился.

о какой демке речь? я сделал кафка-консоле-консамер блабла-конфиг-парамс >messages.txt
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030900
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Аааа, ну если бла бла бла самописка то я поторопился.
Пока двойка юноша.
Продолжай рассказывать о погоде.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030940
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,
Аааа, ну если бла бла бла самописка то я поторопился.
Пока двойка юноша.
Продолжай рассказывать о погоде.

погода норм. с твоей помощью резиновой уточки продвигаюсь к разбору деталей успешно.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030942
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Девочки не ссорьтесь. Я думаю что если-бы задача Андрея была блокером - то давно уже
подключили бы консалтинг. А не таких философов и пьяниц как мы.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030947
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет пока это не блокер и даже есть план б. ибо это скорее импрувемент. который должен работать. осталось чуть-чуть :)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030949
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извини. Импрувмент - это когда что-то раньше РАБОТАЛО и надо чтоб стало ЛУЧШЕ.

А у тебя - бассейн где вода исчезает в черной дыре.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030952
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Извини. Импрувмент - это когда что-то раньше РАБОТАЛО и надо чтоб стало ЛУЧШЕ.

А у тебя - бассейн где вода исчезает в черной дыре.

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

короче.. процес прошел. и снова хрень. цифры почти бьются с бд и снова ска почти. то есть в бд 10 млн. в топике 7 млн. мой вертикс прочел снова ПРАКТИЧЕСКИ 7 млн (допускаю что просто появилось больше новых сущностей). то есть всё примерно сходится.
пойду после праздников к топикодержателю с пруфами что нифига не сходится.

вопрос практически закрыт.

за исключением: какого х если количество консамеров не равно количеству партиций цифры не сходятся. и почему они ИНОГДА не сходятся когда количество консамеров = количеству партиций.

ну и вопрос без ответа. кто бы что ни говорил - могу утверждать -- если десять партиций показывают каждый по 7.5 миллионов дельты между старт-енд оффсет это НЕ означает что у тебя оффсетов будет суммарно количество дельт-партиций. и да оффсеты могут скакать и это нихера ничего не значит.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030953
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
mayton
Извини. Импрувмент - это когда что-то раньше РАБОТАЛО и надо чтоб стало ЛУЧШЕ.

А у тебя - бассейн где вода исчезает в черной дыре.

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

короче.. процес прошел. и снова хрень. цифры почти бьются с бд и снова ска почти. то есть в бд 10 млн. в топике 7 млн. мой вертикс прочел снова ПРАКТИЧЕСКИ 7 млн (допускаю что просто появилось больше новых сущностей). то есть всё примерно сходится.
пойду после праздников к топикодержателю с пруфами что нифига не сходится.

вопрос практически закрыт.

за исключением: какого х если количество консамеров не равно количеству партиций цифры не сходятся. и почему они ИНОГДА не сходятся когда количество консамеров = количеству партиций.

ну и вопрос без ответа. кто бы что ни говорил - могу утверждать -- если десять партиций показывают каждый по 7.5 миллионов дельты между старт-енд оффсет это НЕ означает что у тебя оффсетов будет суммарно количество дельт-партиций. и да оффсеты могут скакать и это нихера ничего не значит.

Продолжайте мониторить.
Все равно так много букв никто не читает.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030959
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

>вопрос практически закрыт.
= слился
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030960
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

ну и вопрос без ответа. кто бы что ни говорил - могу утверждать -- если десять партиций показывают каждый по 7.5 миллионов дельты между старт-енд оффсет это НЕ означает что у тебя оффсетов будет суммарно количество дельт-партиций. и да оффсеты могут скакать и это нихера ничего не значит.

Может оффсеты округляются к ближайшему кратному 50 например.

Ты попробуй во все 12 паршишенов запиши не-кратное число. Бери длину из таблицы простых чисел.
Простое число ни с чем ни кратно.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030966
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Оффсеты округляются по правилам из конфига. Параметр там есть. Перечислимое.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030968
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT
пропущено...

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

короче.. процес прошел. и снова хрень. цифры почти бьются с бд и снова ска почти. то есть в бд 10 млн. в топике 7 млн. мой вертикс прочел снова ПРАКТИЧЕСКИ 7 млн (допускаю что просто появилось больше новых сущностей). то есть всё примерно сходится.
пойду после праздников к топикодержателю с пруфами что нифига не сходится.

вопрос практически закрыт.

за исключением: какого х если количество консамеров не равно количеству партиций цифры не сходятся. и почему они ИНОГДА не сходятся когда количество консамеров = количеству партиций.

ну и вопрос без ответа. кто бы что ни говорил - могу утверждать -- если десять партиций показывают каждый по 7.5 миллионов дельты между старт-енд оффсет это НЕ означает что у тебя оффсетов будет суммарно количество дельт-партиций. и да оффсеты могут скакать и это нихера ничего не значит.

Продолжайте мониторить.
Все равно так много букв никто не читает.

то что ты квотишь не читая - я это заметил. продолжай.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030969
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,

Оффсеты округляются по правилам из конфига. Параметр там есть. Перечислимое.

да. например, было 7 миллионов, а следом стало 5 миллионов 465 тыс 321
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030970
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
пропущено...

Продолжайте мониторить.
Все равно так много букв никто не читает.

то что ты квотишь не читая - я это заметил. продолжай.

Читаю. По диагонали. Как все))))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030971
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
mayton,

Оффсеты округляются по правилам из конфига. Параметр там есть. Перечислимое.

да. например, было 7 миллионов, а следом стало 5 миллионов 465 тыс 321
ошибка. Должно быть
Четыресто шестьдесят пять тысяч триста двадцать!
Ищи!
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40030972
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС, у тебя нерепрезентативная выборка.
Загрузи 10лимонов.тогда ошибка должна рассосаться.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031001
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

короче.. процес прошел. и снова хрень. цифры почти бьются с бд и снова ска почти. то есть в бд 10 млн. в топике 7 млн. мой вертикс прочел снова ПРАКТИЧЕСКИ 7 млн (допускаю что просто появилось больше новых сущностей). то есть всё примерно сходится.
пойду после праздников к топикодержателю с пруфами что нифига не сходится.

А с чего вы взяли что в топике с включенным компакшеном эти цифры будут сходится? Это же даже ребёнку очевидо, что если среди записанных есть мессаджи с одинаковыми ключами, то компакшен будет сжимать данные согласно настройкам. Тут вам нужно сначала настройки компакшена на топике посмотреть, если их нет на топике то смотрите глобальные настойки на брокере. В жирных топиках компакшен за раз как правило всё не сожмёт, потому что его эффективность ограниченна размером скользящего буфера и числу ключей для дедупликации которое ему разрешили удерживать в оперативной памяти.

В общем кидайте сюда все настройки топика, все настройки брокера а также версию брокера, и мы вам всё растолкуем.


andreykaT

вопрос практически закрыт.

Нет не решен. Вы же так ничего и не поняли. Кстате что касается вашего кода на вертексе. Я вам скинул пример как пофиксить багу в вашем коде, связанную с тем что вы комитите мессаджи до их фактической обработке, и написал что это код ещё не окончательный. Вы даже не удосужились подумать, а что там дальше нужно улучшить. Так вот сообщаю - читая мессаджи в одном потоке и скидывая их дальнейшую обработку в экзекьютор, вы теоритически можете нарушить причинно следственные связи для мессаджей с одним ключом, так как порядок их обработки в екзекьюторе не известен, и два логически взаимосвязанных события: снял штаны и посрал могут при обработке у вас переставиться местами.


andreykaT

за исключением: какого х если количество консамеров не равно количеству партиций цифры не сходятся. и почему они ИНОГДА не сходятся когда количество консамеров = количеству партиций.

Какие цифры? Объясните в терминах кафки, какие именно цифры у вас несходятся, и как вы их получаете.

andreykaT

ну и вопрос без ответа. кто бы что ни говорил - могу утверждать -- если десять партиций показывают каждый по 7.5 миллионов дельты между старт-енд оффсет это НЕ означает что у тебя оффсетов будет суммарно количество дельт-партиций. и да оффсеты могут скакать и это нихера ничего не значит.

Поправте два зачеркнутых слова выделенных жирным текстом. С точки зрения терминологии кафки вы написали полный бред, я не могу его расшифровать.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031018
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
есть партиция икс, читается с оффсета ну скажем тысяча

У тебя там брокер сообщений или блочное устройство, что ты читаешь что-то с оффсета?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031019
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У ТС терминологоия как у пятилетнего. И русский язык не родной. Тяжко ему.
Ждет когда ему код напишут.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031264
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT

короче.. процес прошел. и снова хрень. цифры почти бьются с бд и снова ска почти. то есть в бд 10 млн. в топике 7 млн. мой вертикс прочел снова ПРАКТИЧЕСКИ 7 млн (допускаю что просто появилось больше новых сущностей). то есть всё примерно сходится.
пойду после праздников к топикодержателю с пруфами что нифига не сходится.

А с чего вы взяли что в топике с включенным компакшеном эти цифры будут сходится? Это же даже ребёнку очевидо, что если среди записанных есть мессаджи с одинаковыми ключами, то компакшен будет сжимать данные согласно настройкам. Тут вам нужно сначала настройки компакшена на топике посмотреть, если их нет на топике то смотрите глобальные настойки на брокере. В жирных топиках компакшен за раз как правило всё не сожмёт, потому что его эффективность ограниченна размером скользящего буфера и числу ключей для дедупликации которое ему разрешили удерживать в оперативной памяти.

В общем кидайте сюда все настройки топика, все настройки брокера а также версию брокера, и мы вам всё растолкуем.


andreykaT

вопрос практически закрыт.

Нет не решен. Вы же так ничего и не поняли. Кстате что касается вашего кода на вертексе. Я вам скинул пример как пофиксить багу в вашем коде, связанную с тем что вы комитите мессаджи до их фактической обработке, и написал что это код ещё не окончательный. Вы даже не удосужились подумать, а что там дальше нужно улучшить. Так вот сообщаю - читая мессаджи в одном потоке и скидывая их дальнейшую обработку в экзекьютор, вы теоритически можете нарушить причинно следственные связи для мессаджей с одним ключом, так как порядок их обработки в екзекьюторе не известен, и два логически взаимосвязанных события: снял штаны и посрал могут при обработке у вас переставиться местами.


andreykaT

за исключением: какого х если количество консамеров не равно количеству партиций цифры не сходятся. и почему они ИНОГДА не сходятся когда количество консамеров = количеству партиций.

Какие цифры? Объясните в терминах кафки, какие именно цифры у вас несходятся, и как вы их получаете.

andreykaT

ну и вопрос без ответа. кто бы что ни говорил - могу утверждать -- если десять партиций показывают каждый по 7.5 миллионов дельты между старт-енд оффсет это НЕ означает что у тебя оффсетов будет суммарно количество дельт-партиций. и да оффсеты могут скакать и это нихера ничего не значит.

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


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

короче, не работает твой код. я понимаю о чем ты говоришь и о каких проблемах. и подозреваю что ты скорее всего прав, вполне возможно вертикс слишком самостоятелен, и тупо гасит через какой то промежуток времени verbosely весь процесс и что то возможно теряется именно "там". хотя это не объясняет поведение что если 1 консамер на 12 партиций то потерь больше.

увы или не увы. сейчас выходные у всхе та кафка прилегла и чистый эксперимент провести пока невозможно. с моими тестовыми данными из того файла в мою же кафку "баг" не повторяется.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031341
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
короче, не работает твой код
работаем по кругу.
ТС'у выкладывают код. Так как он ленивый то он обвиняет других и не делает ничего сам.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031358
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

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


Может там а может не там, но в любом случае так код писать нельзя, каша получиться и мессаджи рано или поздно гарантированно потеряются, даже если сейчас они "теряются" не в нём, и обработка нескольких событий связанных причинно следственными связями переупорядочится, даже если вы не наблюдает это сейчас на тестах. Поэтому vertex пока лучше отложить до лучших времён, пока не появится время разобраться как написать на нём гарантированную и упорядоченную обработку. Вообще две новые технологии за раз лучше никогда не внедрять, ибо когда непоние принципов работы одной, начинает интерфирировать с непониманием принципов работы другой, такие франкенштейны начинаю в продакшене вылазить, что никаких бутылок водки нехватит чтобы разобраться. Первым делом стоит перепистать код на работу с голым KafkaConsumer API, без Vertex, SpringKafka или ReactorKafka.

Ну и опять же перечитайте ещё раз вот это:
vimbaА с чего вы взяли что в топике с включенным компакшеном эти цифры будут сходится? Это же даже ребёнку очевидо, что если среди записанных есть мессаджи с одинаковыми ключами, то компакшен будет сжимать данные согласно настройкам. Тут вам нужно сначала настройки компакшена на топике посмотреть, если их нет на топике то смотрите глобальные настойки на брокере. В жирных топиках компакшен за раз как правило всё не сожмёт, потому что его эффективность ограниченна размером скользящего буфера и числу ключей для дедупликации которое ему разрешили удерживать в оперативной памяти. В общем кидайте сюда все настройки топика, все настройки брокера а также версию брокера, и мы вам всё растолкуем.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031359
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вспоминается анек.

Василий Иваныч и Анка заняты коитусом.
Прибегает Петька и кричит
- Василий Иваныч! Снимай свою гильзу! В магазин кондомы привезли!
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031363
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT

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


Может там а может не там, но в любом случае так код писать нельзя, каша получиться и мессаджи рано или поздно гарантированно потеряются, даже если сейчас они "теряются" не в нём, и обработка нескольких событий связанных причинно следственными связями переупорядочится, даже если вы не наблюдает это сейчас на тестах. Поэтому vertex пока лучше отложить до лучших времён, пока не появится время разобраться как написать на нём гарантированную и упорядоченную обработку. Вообще две новые технологии за раз лучше никогда не внедрять, ибо когда непоние принципов работы одной, начинает интерфирировать с непониманием принципов работы другой, такие франкенштейны начинаю в продакшене вылазить, что никаких бутылок водки нехватит чтобы разобраться. Первым делом стоит перепистать код на работу с голым KafkaConsumer API, без Vertex, SpringKafka или ReactorKafka.

Ну и опять же перечитайте ещё раз вот это:
vimbaА с чего вы взяли что в топике с включенным компакшеном эти цифры будут сходится? Это же даже ребёнку очевидо, что если среди записанных есть мессаджи с одинаковыми ключами, то компакшен будет сжимать данные согласно настройкам. Тут вам нужно сначала настройки компакшена на топике посмотреть, если их нет на топике то смотрите глобальные настойки на брокере. В жирных топиках компакшен за раз как правило всё не сожмёт, потому что его эффективность ограниченна размером скользящего буфера и числу ключей для дедупликации которое ему разрешили удерживать в оперативной памяти. В общем кидайте сюда все настройки топика, все настройки брокера а также версию брокера, и мы вам всё растолкуем.

Я не понимаю почему так сложно понять, что если самый старый мессадж в партиции имеет offset 1_000_000 а самый новый оффсет 1_010_000 то это вовсе не значит что в партиции сейчас 10_000 мессаджей для случая когда на топике включен компакшен(как раз ваш случай), ибо работающий компакшен никогда не меняеет оффсеты у записанных мессаджей, он просто выбрасывает мессаджи с меньшим оффсетом при совпадении ключей, и в зависимости от того успел ли компакшен нанести добро в старых сегментах(компакшен никогд не сжимает активный сегмент), или не успел до момента прочтения мессаджей вы либо будете видеть промежутки в оффсетах обрабатывая мессаджи в цикле, либо не будете.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031464
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я сам вначале в самом в смысле начале спросил может ли такое быть что при компакте или тамбстоуне будут пропускаться оффсеты. мне тут кто то как то пытался убедить что это так не работает. ну вот убедились - работает. именно так.

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

другое дело в том что я всё же не понимаю, как тут мессаджи могут потеряться. они не могут в этой схеме потеряться. может ордеринг нарушиться может всё упасть но мессаджи не потеряются. вернее, если это произойдет - оно остановит процесс. другое дело что то что внутри блокинга исполняется то что по факту может быть и не исполняется. а просто скипается или кидает какой нибудь эксепшен молча или вообще не кидается.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031470
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
может ордеринг нарушиться может всё упасть но мессаджи не потеряются. вернее, если это произойдет - оно остановит процесс.

От того что процесс остановится как ошибка возникнет в процессе исплнения таски в отдельном экзекьюторе толку не будет, если ты уже успел закомитить, а комитишь ты как только рассовал все таски в экзекьютор. Обработка некоторых тасок может даже и не быть фактически начата, что толку останавливать консумер если коммит уже произошел? После того как консумер подымится снова, он начнет читать от уже закомиченного , а не от того места где пофэйлился.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031472
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
я сам вначале в самом в смысле начале спросил может ли такое быть что при компакте или тамбстоуне будут пропускаться оффсеты. мне тут кто то как то пытался убедить что это так не работает. ну вот убедились - работает. именно так.

Правильный ответ ещё шире чем у тебя в вопросе. Тут дело не в томбстоунах даже, а в том что мессаджи просто имеют одинаковый ключ. Компактору глубоко наплевать успел кто-то опрочитать рекорд или нет, если ему под руку попались два рекорда с одинаковым ключом, он выкидывает старый. Вам критически важно понять, что является более новое сообщение томбстоуном или нет, ему вообще наплевать, более старый рекорд будет выкинут в любом случае.

Так что на топиках без компакшена, консумеру чтобы не потерять мессаджи достаточно читать их быстрее чем истекает TTL на сегменте. А вот чтобы достичь того же самого на топике с включенным компакшеном, консумер должен ещё и обгонять компакшен.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031516
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
автордругое дело в том что я всё же не понимаю, как тут мессаджи могут потеряться. они не могут в этой схеме потеряться.
Как ты думаешь, может нормальный человек шесть страниц задавать одинаковый вопрос?
"Галустян КВН Маша потерялась"
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031537
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT
может ордеринг нарушиться может всё упасть но мессаджи не потеряются. вернее, если это произойдет - оно остановит процесс.

От того что процесс остановится как ошибка возникнет в процессе исплнения таски в отдельном экзекьюторе толку не будет, если ты уже успел закомитить, а комитишь ты как только рассовал все таски в экзекьютор. Обработка некоторых тасок может даже и не быть фактически начата, что толку останавливать консумер если коммит уже произошел? После того как консумер подымится снова, он начнет читать от уже закомиченного , а не от того места где пофэйлился.

Неее. С нового груп-айди
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031540
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но ты прав. логику лучше полпилить
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031557
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
vimba
пропущено...

От того что процесс остановится как ошибка возникнет в процессе исплнения таски в отдельном экзекьюторе толку не будет, если ты уже успел закомитить, а комитишь ты как только рассовал все таски в экзекьютор. Обработка некоторых тасок может даже и не быть фактически начата, что толку останавливать консумер если коммит уже произошел? После того как консумер подымится снова, он начнет читать от уже закомиченного , а не от того места где пофэйлился.

Неее. С нового груп-айди

Что с нового group.id?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031640
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT
пропущено...

Неее. С нового груп-айди

Что с нового group.id?

Консамеры стартуют фром бегиннинг с ранжомного групп-айди
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031642
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

Вот это поворот. Либо вы там пишите что-то гениальное, либо...
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031643
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT,

Вот это поворот. Либо вы там пишите что-то гениальное, либо...

я пишу просто компонент-утилиту которая просто один раз считывает данные с топика и кладет их в эластик после этого выключается. либо с успехом либо с фейлом в логах. вроде просто как два пальца.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031656
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

Я бы подумал о том чтобы держать постоянно работающий поток, хотя бы из-за того же компакшена.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031688
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
vimba
andreykaT,

Вот это поворот. Либо вы там пишите что-то гениальное, либо...

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

Глупо)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031834
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
andreykaT,

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


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

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

ну тут либо я выкину вертикс окончательно или перепишу в рх-джава поверх вертикса - там можно хоть по-человечески ордерить правда тоже с блокированиями по-сути. или вообще всё выкину и сделаю по-дедовски на чистом кафка сдк.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031839
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
>вот что меня заботит что может нарушиться ордеринг
И еще, в 30ый раз про одно и тоже.))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031912
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ордеринг это вообще очень дорогое свойство. Гораздо проще идемпотенцию процессинга обеспечить.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031914
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fixxer
Ордеринг это вообще очень дорогое свойство. Гораздо проще идемпотенцию процессинга обеспечить.

Можно ли сделать репликацию БД идемпотентной?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031921
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fixxer,

ТС зациклело на ордеринг. Не лечится.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031951
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
fixxer
Ордеринг это вообще очень дорогое свойство. Гораздо проще идемпотенцию процессинга обеспечить.

Можно ли сделать репликацию БД идемпотентной?


Если из чейдж-лога реплицировать, то да. А в общем виде понятия ордеринг в базе нет. Оно появляется, когда мы в какую-то трубу начинаем данные пихать.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031978
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fixxer
mayton
пропущено...

Можно ли сделать репликацию БД идемпотентной?


Если из чейдж-лога реплицировать, то да. А в общем виде понятия ордеринг в базе нет. Оно появляется, когда мы в какую-то трубу начинаем данные пихать.

Да. Согласен. Но репликация баз - тема популярная. Можно поднять новогодний топик.
Прошлый про реплики был неудачен https://www.sql.ru/forum/1321816/tyapnichnyy-cdc-jms
Непонятно зачем я его гвоздями приколотил к Java/JMS.

Надо было в Программинге . И больше алгоритмизации.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40031980
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032066
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fixxer
Ордеринг это вообще очень дорогое свойство. Гораздо проще идемпотенцию процессинга обеспечить.

кафка гарантирует ордеринг в рамках одного ключа (он же равен одной партиции) мне этого достаточно. если разные ключи будут прилетать в разном ордере - к этому система толерантна.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032091
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
(он же равен одной партиции)


Это ересь. Ордеринг гарантируется в рамках партиции. Партиция определяется по хеш-функции ключа, поэтому записи с одним ключом попадают в одну партицию. Но знак равенства между этими понятиями нельзя ставить.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032112
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Hello world когда будет?
А то все что ты не скажешь - двойка получается.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032177
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,
Hello world когда будет?
А то все что ты не скажешь - двойка получается.


Так уже разобрались вроде.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032178
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
PetroNotC Sharp
andreykaT,
Hello world когда будет?
А то все что ты не скажешь - двойка получается.

Так уже разобрались вроде.

Где?
Ссыль дай.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032243
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fixxer
andreykaT
(он же равен одной партиции)


Это ересь. Ордеринг гарантируется в рамках партиции. Партиция определяется по хеш-функции ключа, поэтому записи с одним ключом попадают в одну партицию. Но знак равенства между этими понятиями нельзя ставить.

с чего вдруг? ордеринг гарантируется партицией один ключ попадает всегда в одну партицию. =>
ордеринг в рамках ключа гарантирован. т.е. если A = B и B = C то A = C или у тебя по ключу пришли три сообщения вчера сегодня завтра ты их назад и прочитаешь вначале вчера потом сегодня потом завтра. если без ключей начнешь накидывать в мультипартиционный топик - то там как карта ляжет.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032284
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
>если....
Угу. Гарантируется, но вот если.... И поехало.
- если публикатор одини тот же
- если партиции по ключу который нужен и осмысленен
- если стратегия по хешу ключа
- если публикатор не указал Сам партицию... Другую.
...
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032289
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,
>если....
Угу. Гарантируется, но вот если.... И поехало.
- если публикатор одини тот же
- если партиции по ключу который нужен и осмысленен
- если стратегия по хешу ключа
- если публикатор не указал Сам партицию... Другую.
...

Не, тут ты уже отсебятину понес. Каждый ключ попадает в один партитишен, ордеринг внутри партитишена гарантируется кафкой, тут андрон прав.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032294
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

Про публикаторов только что прочитал.
Если их несколько то не гарантируется.
2. Другую партицию можно?
my:23:345
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032296
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
забыл ник,

Про публикаторов только что прочитал.
Если их несколько то не гарантируется.

Пруф
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032299
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Кафке сообщения с одним и тем же ключом, от одного и того же производителя, доставляются потребителю по порядку
https://coderoad.ru/29820384/Apache-порядок-сообщений-Кафки-с-несколькими-разделами
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032301
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
my:23:345
345 это адрес партиции.
Тогда должен нарушится порядок
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032303
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
В Кафке сообщения с одним и тем же ключом, от одного и того же производителя, доставляются потребителю по порядку
https://coderoad.ru/29820384/Apache-порядок-сообщений-Кафки-с-несколькими-разделами

Эмм. Что это за хрень и как это опровергает мои слова? К тому же это явная неправда - неважно сколько producer, если они пишут в одну тему. Ордеринг внутри партитишена ГАРАНТИРОВАН. ТОЧКА
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032313
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,
Ну неправда так неправда.
Пусть ты 99% прав. Без кода 100 проц не бывает)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032315
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,
>Ордеринг внутри партитишена ГАРАНТИРОВАН. ТОЧКА
Спор был по термину ключик а не партиция.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032316
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,
Возможно они пишут асинхронно. Это имелось ввиду.
Какой уже тогда порядок то))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032322
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
забыл ник,
Возможно они пишут асинхронно. Это имелось ввиду.
Какой уже тогда порядок то))

Не, Петр. Смотри, ключ на то и ключ, что он попадает в одну партитицию, ну точный аналог HashMap в Java. Поэтому если ключ один и тот же - то он попадет в один партитишен 100%, даже при ребалансировке. Насчет асинхронности, тут такой момент - кафка гарантирует ордеринг внутри себя, УЖЕ ПОПАВШИХ мессаджей. То что это может не совпадать с точкой зрения одновременности тех кто пишет продьюсеров - это возможно, но это только потому что те кто писал продюсеры не понимают как работает кафка и многопоточность в широком смысле.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032324
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
PetroNotC Sharp
забыл ник,
Возможно они пишут асинхронно. Это имелось ввиду.
Какой уже тогда порядок то))

Не, Петр. Смотри, ключ на то и ключ, что он попадает в одну партитицию, ну точный аналог HashMap в Java. Поэтому если ключ один и тот же - то он попадет в один партитишен 100%, даже при ребалансировке. Насчет асинхронности, тут такой момент - кафка гарантирует ордеринг внутри себя, УЖЕ ПОПАВШИХ мессаджей. То что это может не совпадать с точкой зрения одновременности тех кто пишет продьюсеров - это возможно, но это только потому что те кто писал продюсеры не понимают как работает кафка и многопоточность в широком смысле.

Можно сказать что требование ОРДЕРИНГА - это один из частных случаев СИНХРОНИЗМА?
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032325
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,
Угу. Думаю ты прав.
Асинхронная по факту запись это должно быть за границей вопроса.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032326
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Бывает практический юз кейс - найти конечное состояние клиента. А мессаги идут так:
Пьян
Трезв
Полупьян
Трезв
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032327
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Бывает практический юз кейс - найти конечное состояние клиента. А мессаги идут так:
Пьян
Трезв
Полупьян
Трезв

Теперь делим это на две партиции и нету конечного))))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032329
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
забыл ник
пропущено...

Не, Петр. Смотри, ключ на то и ключ, что он попадает в одну партитицию, ну точный аналог HashMap в Java. Поэтому если ключ один и тот же - то он попадет в один партитишен 100%, даже при ребалансировке. Насчет асинхронности, тут такой момент - кафка гарантирует ордеринг внутри себя, УЖЕ ПОПАВШИХ мессаджей. То что это может не совпадать с точкой зрения одновременности тех кто пишет продьюсеров - это возможно, но это только потому что те кто писал продюсеры не понимают как работает кафка и многопоточность в широком смысле.

Можно сказать что требование ОРДЕРИНГА - это один из частных случаев СИНХРОНИЗМА?


Не совсем понял о чем ты.
Ну ты же понимаешь что понятие времени и связанное с ним одновременности в распределенной системе очень сложная штука?
В общем случае, при конкурентной записи двумя потоками мессаджей с одинаковыми айди - нельзя между ними установить отношение happens-before. Зато, порядок поступлений мессаджей в кафку уже упорядоченная вещь, одинаковая для всех слушателей(в рамках партитиции). Если один читатель видит что мессадж а получен перед мессаджем б, то и все другие читатели будут видеть систему в таком же состоянии. В принципе абсолютно аналогично с любой nosql системой типа mongodb - разные реплики могут выдавать разный результат, но он консистентен между собой, нельзя увидеть Б перед А
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032331
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
PetroNotC Sharp
mayton,
Бывает практический юз кейс - найти конечное состояние клиента. А мессаги идут так:
Пьян
Трезв
Полупьян
Трезв

Теперь делим это на две партиции и нету конечного))))

Так вот именно. В кафке это на первой странице туториала и написано. гарантируется ордеринг только внтури одной партитиции. Кто не понимает - сам себе злобный буратино
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032333
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,
Ну, весь топик был сыр бор про суслика, которого никто не видел. Про пропуски.
Но всем лень за автора работать и ловить суслика.
Потом он слился по тихому. Наверно ошибку нашел)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032336
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
забыл ник,
Ну, весь топик был сыр бор про суслика, которого никто не видел. Про пропуски.
Но всем лень за автора работать и ловить суслика.
Потом он слился по тихому. Наверно ошибку нашел)

Я если честно пару раз пробовал вчитаться и понять что там не так, но так и не осилил. Такой банальный и общий кейс, когда мессаджи тупо теряются в дефолтной конфигурации он просто невозможен в технологии такого уровня как кафка. А разбирать поток сознаний и додумывать как же там реально надо - мне тупо лень.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032337
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
vimba
пропущено...

Так уже разобрались вроде.

Где?
Ссыль дай.

воть
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032338
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
PetroNotC Sharp
andreykaT,
>если....
Угу. Гарантируется, но вот если.... И поехало.
- если публикатор одини тот же
- если партиции по ключу который нужен и осмысленен
- если стратегия по хешу ключа
- если публикатор не указал Сам партицию... Другую.
...

Не, тут ты уже отсебятину понес. Каждый ключ попадает в один партитишен, ордеринг внутри партитишена гарантируется кафкой, тут андрон прав.

Нет, Петька прав. Если publisher явно указал партицию, то ключ игнорируется. Вернее как игнорируется - в рекород то он пишется и его можно прочитать потом на консумере, но вот на то в какую партицию попадёт мессаджк ключ уже никак не влияет.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032340
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
забыл ник,
Ну, весь топик был сыр бор про суслика, которого никто не видел. Про пропуски.
Но всем лень за автора работать и ловить суслика.
Потом он слился по тихому. Наверно ошибку нашел)

Да не слился. Консенсус найден, честь кафки восстановлена.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032341
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba
забыл ник
пропущено...

Не, тут ты уже отсебятину понес. Каждый ключ попадает в один партитишен, ордеринг внутри партитишена гарантируется кафкой, тут андрон прав.

Нет, Петька прав. Если publisher явно указал партицию, то ключ игнорируется. Вернее как игнорируется - в рекород то он пишется и его можно прочитать потом на консумере, но вот на то в какую партицию попадёт мессаджк ключ уже никак не влияет.

Я пропустил это. Согласен. Хотя никогда явно не указывал партитицию и даже не представляю когда это может быть нужно
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032344
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

это редкий кейс, но иногда нужен, я раза два за свою жизнь воспользовался.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032359
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba,
Я фигею.
Включить архивирование или сжатие и спрашивать про дырки?
Да. Клиника.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032367
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba,
Ну, мы сжатие бы увидели в логах если бы ТС умел разговаривать или демо представить.
А вот ты как догадался про
cleanup.policy - > compact
?)))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032376
vimba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

ТС первом сообщении об этом написал :-) просто никто не обратил на это сразу внимание(я тоже), ибо глаз там сразу цепляется на наезд на то что кафка теряет сообщения.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032379
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с моей стороны вопрос был номер раз: могут ли оффсеты прыгать? ответ - могут.
могут ли при этом "теряться" сообщения по ключу (при компакте ат лист один остается) - ответ нет.
то есть сам ап - прыгающие оффсеты не означает теряющиеся мессаджи.

то что в моей конфиге что то не так это уже моя конфига. основные утверждения я разобрал. вопросы к конфиге остались.

лог я вычитал лог тоже не отражает то что должен но как минимум он является точкой отсчета. то есть количество уникальных ключей должно быть одинаковым что в логе что в моем приложении. если я этого достиг то мой код - корректен.

остальное - частности.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032381
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
vimba,
Я фигею.
Включить архивирование или сжатие и спрашивать про дырки?
Да. Клиника.

петя ты усирался чуть выше что этого не может быть. теперь включил дурачка и говоришь да этож очевидно. :)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032386
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Если человек грязный, матерится, сморкается и постоянно ловит 10млн записей, то его посты никто не читает. Ну почти никто. Через пять дней кто вник а кто мимо прошел.
Ваш кэп.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032387
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vimba,
))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032389
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
<прыгающие оффсеты не означает теряющиеся мессаджи.
Отправить частями "мама мыла раму" это верх разума для прогера)))))))
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032442
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,
Если человек грязный, матерится, сморкается и постоянно ловит 10млн записей, то его посты никто не читает. Ну почти никто. Через пять дней кто вник а кто мимо прошел.
Ваш кэп.

ну да и видно что ты до сих пор не в теме раз тут топчешься постоянно и без толку :)
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40032453
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Скажи, зачем ты миллион сообщений ловил?)))))))
Вот сказано 13 декабря. Сегодня 29 декабря
22247370
Тебе не стыдно?
Теперь этот топик будет преследовать тебя всю жизнь.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033599
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче все по цифрам сходится. и в бд и в сете и в логе и в консольном консамере и в моей халабуде на вертиксе.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033603
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но по поводу вертикса там всё же есть проблема с потерей где он тупо игнорирует блокинг код к исполнению. пока не ковырял. если вкратце если он долго исполняется то он по ходу просто в очередь следующий код к исполнению не ставит вообще. полечил тем что уменьшил набор данных к обработке чтоб было чаще но меньше, чем реже но дольше. понятно решение такое себе. копаю дальше в умеренном темпе.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033670
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
короче все по цифрам сходится. и в бд и в сете и в логе и в консольном консамере и в моей халабуде на вертиксе.

Оно бы сошлось и на первой странице, если бы выложил пример с проблемой.
С конфигом в рантайме для hello world а не твоей портянкой.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033674
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
но по поводу вертикса там всё же есть проблема с потерей где он тупо игнорирует блокинг код к исполнению. пока не ковырял. если вкратце если он долго исполняется то он по ходу просто в очередь следующий код к исполнению не ставит вообще. полечил тем что уменьшил набор данных к обработке чтоб было чаще но меньше, чем реже но дольше. понятно решение такое себе. копаю дальше в умеренном темпе.

Это очень напоминает игры с TCP/IP протоколом где большое окно - плохо. Потери сегментов. Малое окно - тоже плохо.
Излишний acknowlegde трафик.

Очень плохо конечно что мы в топике воеваели не с Кафкой а с какойто неведомой гребаной фигней под названием
вертикс.

Грустно терять время. Все таки постарайся постить вопросы не в формате блогов а более конкретно расписывая условия.
Понимаю что тебе лень. Но твоя лень обычно оборачивается боком.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033698
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Не вертикс. С петей он воевал.
Он включил архивирование-пакетирование топиков. При нем убираются все сообщения кроме последнего. Отсюда дырки в нумерации.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033706
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати в качестве следующего пятничного предлагаю поднять банальный вопрос.
Почему на 100 Мбит интерфейсе Ethernet мы никогда не достигаем этой скорости скачивания
для TPC/IP протокола.

Я эту тему спецом не хочу поднимать в Unix/Windows. Там сидят зануды и фарисеи которые только щеки надувают.
Вроде экспертиза есть а шаг влево и шаг вправо - они уже померли. Молчат и глазами моргают. Креатива - ноль.

Поэтому мне эту тему с программистами интереснее чем с админами обсуждать.

Этот-же вопрос релевантен и к 2.5/5 Ггц Wifi. Там тоже куча нюансов.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033759
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому, что Ethernet это среда с конкурентным доступом и механизмом разрешения конфликтов.
"100 мегабит" это "физическая" скорость передачи, которая определяется "радиочастотными" характеристиками передатчика.
Протокол требует передать преамбулу, заголовки Ehternet, полезную нагрузку, контрольную сумму и "выдержать паузу" между передачей следующего пакета. Унаследованные со времён пассивных повторителей характеристики протокола ограничивают минимальный размер Ethernet-пакета величиной 512 бит.
Аккуратный учёт накладных расходов Ethernet (без учёта накладных расходов протоколов более высокого уровня) и ограничивает пропускную способность канала. Которая, внезапно, зависит от размера пакета (межпакетный интервал строго фиксирован).
Плюс арбитраж при одновременной работе нескольких передатчиков с одним приёмником. Сегодня этот арбитраж весьма эффективен, но расходы на него, всё-таки, ненулевые.

P.S.
"Щёки надувают" не потому, что снобы, а потому, что всё это давным-давно изложено в популярных книжках.
Нет тут предмета для обсуждения - надо просто "взять и п(р)очитать".
Лично я купил в своё время ISBN 5-7315-0014-2, а сильно позже, "где-то в сети", мне попадался неплохой обзор особенностей и отличий гигабитного Ethernet.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033763
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Почему на 100 Мбит интерфейсе Ethernet мы никогда не достигаем этой скорости скачивания
для TPC/IP протокола.
возьми "источник" с ssd, и 1Гб сетевухой
поставь хаб 100Мб
возьми "приемник" с ssd и 1Гб сетевухой
качай киношку в 10Гб
проверь

при скачивании ютуба мне удавалось получит скорость 90+
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033781
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Э как вас всех расколбасило. Значит тема резонирует. Можно поговорить про всякие окошковые алгоритмы и их настройки.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033783
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Э как вас всех расколбасило. Значит тема резонирует. Можно поговорить про всякие окошковые алгоритмы и их настройки.


да не интересно, у нас вон в далеком 2004 году дедушка-хакер читал курс по сетям, у него еще тогда (думаю нужно еще лет 5 отнять) были подозрения что что-то не так: http://book.itep.ru/4/44/new_tcp.htm, а ты в 2021 про 100Mbps задвигаешь
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033785
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тема - вечная. Вот Дима даже файлы копировал по UDP. Вот так придавило.

Но меня как всегда интересует не администрирование протоколов а разработка софта.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033786
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу копирования фильмов с SSD. Я думаю что ни фильм ни SSD нам не понадобится.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033791
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
По поводу копирования фильмов с SSD. Я думаю что ни фильм ни SSD нам не понадобится.
я к тому, что б исключить все тормозные звенья
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033809
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для исключения тормозных звеньев используют то, что вообще не пишет на диск при сетевом обмене.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033814
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Для исключения тормозных звеньев используют то, что вообще не пишет на диск при сетевом обмене.
это для идеального случая, но всё ж хочется ближе к реальному.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033818
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
andreykaT
но по поводу вертикса там всё же есть проблема с потерей где он тупо игнорирует блокинг код к исполнению. пока не ковырял. если вкратце если он долго исполняется то он по ходу просто в очередь следующий код к исполнению не ставит вообще. полечил тем что уменьшил набор данных к обработке чтоб было чаще но меньше, чем реже но дольше. понятно решение такое себе. копаю дальше в умеренном темпе.

Это очень напоминает игры с TCP/IP протоколом где большое окно - плохо. Потери сегментов. Малое окно - тоже плохо.
Излишний acknowlegde трафик.

Очень плохо конечно что мы в топике воеваели не с Кафкой а с какойто неведомой гребаной фигней под названием
вертикс.

Грустно терять время. Все таки постарайся постить вопросы не в формате блогов а более конкретно расписывая условия.
Понимаю что тебе лень. Но твоя лень обычно оборачивается боком.

С какой
Вопрос был изначально про оффсеты
Опытным путём выяснили что поведение ок
Всё.
Вертикс не вертикс пофиг.
Что по ключам не совпадает это похоже отдельная тема.
Или их просто не шлют или снова архивами трет то что не должна тереть.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033821
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
Basil A. Sidorov
Для исключения тормозных звеньев используют то, что вообще не пишет на диск при сетевом обмене.
это для идеального случая, но всё ж хочется ближе к реальному.

Меня интересовало не просто копирование толстого файла. А короткие соединения. Где работает TCP/IP
slow start. И их оптимизация.

Вместо кина я планировал писать поток случайных байтов. И вместо проводников - iperf, netcat.

И возможно своё сокетное приложения для моделирования ситуации со slow start.

А потом сравнить по скорости с UDP.

В качестве хардварных условий.
1) PC -> Router -> PC
2) PC -> crossover link -> PC

Все адаптеры включить пока на 100 мегабит.
...
Рейтинг: 0 / 0
не совсем джава но вдруг. кафка.
    #40033863
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
>Опытным путём выяснили что поведение ок
Угу. Что другим доходит максимум на 3ей странице, тебе нужно 15.
Раз ничего не понял, приходи следующей темой опять без демки.
Ждем.
...
Рейтинг: 0 / 0
258 сообщений из 258, показаны все 11 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / не совсем джава но вдруг. кафка.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]