我想知道,当startoffsettime的值是kafka.api.offsetrequest.earliesttime()时,偏移值是多少?

lxkprmvk  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(407)

当我设置 startOffsetTime=kafka.api.OffsetRequest.LatestTime() ,偏移量的值是可用的最大值。
设置时 startOffsetTime is kafka.api.OffsetRequest.EarliestTime() 偏移值是多少?

vwkv1x7d

vwkv1x7d1#

你的问题很难理解一点。但不管怎样,我想当你查询最早的偏移量时,你会问偏移量是多少。
kafka有日志保留配置,允许为消息或日志文件大小设置生存时间。这里有更多。
假设您有一个日志保留时间设置为1小时的主题,并生成一些偏移量如下的消息:

0 1 2 3 4 5 6 7 8 9 10 ...

一小时后,旧邮件将从日志中删除,您可能会看到以下图片:

<offsets 0 1 2 3 4 no more exist in log> 5 6 7 8 9 10 ...

然后,当您将查询最早的抵消,你会得到 5 作为偏移量 0-4 不再存在。
这同样适用于 log.retention.bytes config,当您超过该配置值时,较旧的消息将被丢弃(实际上是整个段,但这对于这个问题并不重要),导致最早的偏移量高于 0 .

相关问题