TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Jepsen: Bufstream 0.1

224 pointsby aphyr6 months ago

12 comments

diggan6 months ago
&gt; While investigating issues like KAFKA-17754, we also encountered unseen writes in Kafka. Owing to time constraints we have not investigated this behavior, but unseen writes could be a sign of hanging transactions, stuck consumers, or even data loss. We are curious whether a delayed Produce message could slide into a future transaction, violating transactional guarantees. We also suspect that the Kafka Java Client may reuse a sequence number when a request times out, causing writes to be acknowledged but silently discarded. More Kafka testing is warranted.<p>Seems like Jepsen should do another Kafka deep-dive. Last time was in 2013 (<a href="https:&#x2F;&#x2F;aphyr.com&#x2F;posts&#x2F;293-call-me-maybe-kafka" rel="nofollow">https:&#x2F;&#x2F;aphyr.com&#x2F;posts&#x2F;293-call-me-maybe-kafka</a>, Kafka version 0.8 beta) and seems like they&#x27;re on the verge of discovering a lot of issues in Kafka itself. Things like &quot;causing writes to be acknowledged but silently discarded&quot; sounds very scary.
评论 #42117089 未加载
williamdclt6 months ago
I&#x27;m very surprised by this:<p>&gt; [with the default enable.auto.commit=true] Kafka consumers may automatically mark offsets as committed, regardless of whether they have actually been processed by the application. This means that a consumer can poll a series of records, mark them as committed, then crash—effectively causing those records to be lost<p>That&#x27;s never been my understanding of auto-commit, that would be a crazy default wouldn&#x27;t it?<p>The docs say this:<p>&gt; when auto-commit is enabled, every time the poll method is called and data is fetched, the consumer is ready to automatically commit the offsets of messages that have been returned by the poll. If the processing of these messages is not completed before the next auto-commit interval, there’s a risk of losing the message’s progress if the consumer crashes or is otherwise restarted. In this case, when the consumer restarts, it will begin consuming from the last committed offset. When this happens, the last committed position can be as old as the auto-commit interval. Any messages that have arrived since the last commit are read again. If you want to reduce the window for duplicates, you can reduce the auto-commit interval<p>I don&#x27;t find it amazingly clear, but overall my understanding from this is that offsets are committed _only_ if the processing finishes. Tuning the auto-commit interval helps with duplicate processing, not with lost messages, as you&#x27;d expect for at-least-once processing.
评论 #42116441 未加载
评论 #42117810 未加载
评论 #42117325 未加载
评论 #42118179 未加载
Kwpolska6 months ago
I’m looking at the product page [0] and wondering how those two statements are compatible:<p>&gt; Bufstream runs fully within your AWS or GCP VPC, giving you complete control over your data, metadata, and uptime. Unlike the alternatives, Bufstream never phones home.<p>&gt; Bufstream pricing is simple: just $0.002 per uncompressed GiB written (about $2 per TiB). We don&#x27;t charge any per-core, per-agent, or per-call fees.<p>Surely they wouldn’t run their entire business on the honor system?<p>[0] <a href="https:&#x2F;&#x2F;buf.build&#x2F;product&#x2F;bufstream" rel="nofollow">https:&#x2F;&#x2F;buf.build&#x2F;product&#x2F;bufstream</a>
评论 #42118359 未加载
评论 #42120669 未加载
refset6 months ago
<i>&gt; The Kafka transaction protocol is fundamentally broken and must be revised.</i><p>Ouch. Great investigation work and write-up, as ever!
didip6 months ago
Has Kyle reviewed NATS Jetstream? I wonder what he thinks of it.
评论 #42117147 未加载
philprx6 months ago
I didn&#x27;t find the GitHub project for bufstream... Any clue?
评论 #42116671 未加载
评论 #42116703 未加载
评论 #42117494 未加载
kiitos6 months ago
Great work as always.<p>After reading thru the relevant blog posts and docs, my understanding is that Kafka defines &quot;exactly-once delivery&quot; as a property of what they call a &quot;read-process-write operation&quot;, where workers read-from topic 1, and write-to topic 2, where both topics are in the same logical Kafka system. Is that correct? If so, isn&#x27;t that better described as a transaction?
评论 #42123083 未加载
c2xlZXB5Cg16 months ago
Not to be confused with <a href="https:&#x2F;&#x2F;www.warpstream.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.warpstream.com&#x2F;</a>
评论 #42116175 未加载
zbentley6 months ago
Erratum:<p>&gt; Transactions may observe none, part, or all<p>Should, I think, read:<p>&gt; <i>Consumets</i> may observe none, part, or all
评论 #42121151 未加载
pmdulaney6 months ago
What is this software used for? Instrumentation? Black boxes?
评论 #42116188 未加载
评论 #42115959 未加载
Bnjoroge6 months ago
has warpstream been reviewed?
评论 #42120800 未加载
bobnamob6 months ago
&gt; We would like to combine Jepsen’s workload generation and history checking with Antithesis’ deterministic and replayable environment to make our tests more reproducible.<p>For those unaware, Antithesis was founded by some of the folks who worked on FoundationDB - see <a href="https:&#x2F;&#x2F;youtu.be&#x2F;4fFDFbi3toc?si=wY_mrD63fH2osiU-" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;4fFDFbi3toc?si=wY_mrD63fH2osiU-</a> for some of their handiwork.<p>A Jepsen + Antithesis team up is something the world needs right now, specifically on the back of the Horizon Post Office scandal.<p>Thanks for all your work highlighting the importance of db safety Aphyr
评论 #42117426 未加载
评论 #42117927 未加载