<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Jepsen</title>
    <link>https://jepsen.io/blog</link>
    <description>Recent news from Jepsen, the distributed systems safety consultancy</description>
    <pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate>
    <dc:date>2026-03-26T00:00:00Z</dc:date>
    <item>
      <title>Bugbash 2026 - Paranormal Forms</title>
      <link>https://jepsen.io/blog/2026-03-26-bugbash</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;We have several tricks for efficiently checking the consistency of transactions
over primary keys, but what are we to do about predicates? Database histories
with predicates are particularly tricky because their correctness hinges on the
entire universe of objects, not just those objects which matched the predicate.
When a query for all even objects returns the empty set, is that because it
selected the unborn version of x, or one in which x = 1? There are many
possibilities, each resulting in a different dependency graph. The
proliferation of these graphs may be intractable, unless we find a way to prove
exactly which invisible version was selected.&lt;/p&gt;
&lt;p&gt;If you’d like to talk about this problem, come to &lt;a href="https://antithesis.com/bugbash/conference2026/agenda/"&gt;Bugbash
2026&lt;/a&gt; on April 22-24th,
in Washington, DC. Jepsen’s seminar, “Paranormal forms”, will introduce the
problem of predicate checking, suggest a few possibilities, then open the floor
to discussion.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2026-03-26-bugbash</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2026-03-26T00:00:00Z</dc:date>
    </item>
    <item>
      <title>MariaDB Galera Cluster 12.1.2</title>
      <link>https://jepsen.io/blog/2026-03-16-mariadb-galera-cluster-12.1.2</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;Jepsen tested &lt;a href="/analyses/mariadb-galera-cluster-12.1.2"&gt;MariaDB Galera
Cluster&lt;/a&gt;, versions 12.1.2 through
12.2.2, and found two scenarios which led to the loss of committed
transactions. First, under the recommended configuration settings it does not
flush data to disk before acknowledgement; committed transactions can be lost
when nodes crash in quick succession. Second, it occasionally loses committed
transactions with process crashes and network partitions. Even without faults,
MariaDB Galera Cluster allows P4 (Lost Update), and therefore fails to satisfy
its claimed isolation level “between Serializable and Repeatable Read”. It also
regularly exhibits Stale Read.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2026-03-16-mariadb-galera-cluster-12.1.2</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2026-03-16T00:00:00Z</dc:date>
    </item>
    <item>
      <title>NATS 2.12.1</title>
      <link>https://jepsen.io/blog/2025-12-08-nats-2.12.1</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;&lt;a href="https://nats.io"&gt;NATS&lt;/a&gt; is a popular distributed streaming system. Jepsen tested NATS 2.12.1, focusing on its durable JetStream subsystem, and found that it could &lt;a href="https://jepsen.io/analyses/nats-2.12.1"&gt;lose data or get stuck in persistent split-brain&lt;/a&gt; in response to file corruption or simulated node failures. This data loss was caused in part by a default &lt;code&gt;fsync&lt;/code&gt; policy which flushed data to disk once every two minutes, rather than before acknowledgement. Even a single kernel crash or power failure, combined with process pauses or network partitions, could cause NATS replicas to lose acknowledged messages. NATS has documented its default lazy &lt;code&gt;fsync&lt;/code&gt; setting, and is considering the other issues we found.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Mon, 08 Dec 2025 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2025-12-08-nats-2.12.1</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2025-12-08T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Jepsen 0.3.10</title>
      <link>https://jepsen.io/blog/2025-12-02-jepsen-0.3.10</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;A new Jepsen release,
&lt;a href="https://github.com/jepsen-io/jepsen/releases/tag/v0.3.10"&gt;0.3.10&lt;/a&gt;, is now
available on GitHub and Clojars. This release is aimed at controllable entropy
and support for running Jepsen inside Antithesis: a deterministic simulation
testing environment. A new supporting library, &lt;code&gt;jepsen.generator&lt;/code&gt;, provides the
current generator system along with &lt;code&gt;jepsen.random&lt;/code&gt;: a new namespace for
pluggable random value generation. Jepsen uses these RNGs throughout, which
makes it possible to run a test with a deterministic seed, or to source entropy
from an external system, like Antithesis. The &lt;code&gt;jepsen.antithesis&lt;/code&gt; library
provides additional support for assertions, randomness, and lifecycle
operations, plus wrappers for clients and checkers.&lt;/p&gt;
&lt;p&gt;Also, this release introduces a new kind of visualization: op color plots,
which show operations over time with different user-defined colors. This is
particularly helpful for getting a feeling for “when did we lose data?” or “did
only read-only queries succeed during a partition?”&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Tue, 02 Dec 2025 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2025-12-02-jepsen-0.3.10</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2025-12-02T00:00:00Z</dc:date>
    </item>
    <item>
      <title>A Distributed Systems Reliability Glossary</title>
      <link>https://jepsen.io/blog/2025-10-20-distsys-glossary</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;Jepsen and &lt;a href="https://antithesis.com"&gt;Antithesis&lt;/a&gt; wrote &lt;a href="https://antithesis.com/resources/reliability_glossary/"&gt;A Distributed Systems Reliability Glossary&lt;/a&gt;: a free reference for engineers who build, test, and operate distributed systems. It covers basic concurrency theory, consistency models, various faults, approaches to testing, and offers some links to further reading.&lt;/p&gt;
&lt;div class="video-container"&gt;
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/2xh4kuRa_Rc?si=dFYtS8s61qd-ZFrD" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""&gt;&lt;/iframe&gt;
&lt;/div&gt;&lt;/div&gt;</content:encoded>
      <pubDate>Mon, 20 Oct 2025 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2025-10-20-distsys-glossary</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2025-10-20T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Jepsen 18: Serializable Mom</title>
      <link>https://jepsen.io/blog/2025-08-18-jepsen-18-serializable-mom</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;The latest Jepsen talk, “Jepsen 18: Serializable Mom”, is &lt;a href="https://www.youtube.com/watch?v=dpTxWePmW5Y"&gt;now available on
Youtube&lt;/a&gt;. This talk was presented
on June 20, 2025, at &lt;a href="https://systemsdistributed.com/"&gt;Systems Distributed&lt;/a&gt; in
Amsterdam. It covers &lt;a href="https://jepsen.io/analyses/bufstream-0.1.0"&gt;Bufstream 0.1.0&lt;/a&gt;, &lt;a href="http://jepsen.io/analyses/amazon-rds-for-postgresql-17.4"&gt;Amazon RDS for PostgreSQL 17.4&lt;/a&gt;, and &lt;a href="http://jepsen.io/analyses/tigerbeetle-0.16.11"&gt;TigerBeetle 0.16.1&lt;/a&gt;.&lt;/p&gt;
&lt;div class="video-container"&gt;
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/dpTxWePmW5Y?si=m0HRd1n9KddbP-rN" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Mon, 18 Aug 2025 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2025-08-18-jepsen-18-serializable-mom</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2025-08-18T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Capela dda5892</title>
      <link>https://jepsen.io/blog/2025-08-07-capela-dda5892</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;Jepsen and Capela, Inc worked together to test early builds of Capela, an
unreleased distributed programming environment. &lt;a href="https://jepsen.io/analyses/capela-dda5892"&gt;Our analysis found twenty-two
issues&lt;/a&gt;, including four problems in
Capela’s programming language semantics, fourteen crashes or non-fatal panics,
severe performance degradation after roughly a minute of operation, and three
safety issues: partitions ignoring their initial values, sporadically
vanishing, and losing committed writes. Capela has fixed two of the language
issues—the others remain under investigation.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Thu, 07 Aug 2025 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2025-08-07-capela-dda5892</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2025-08-07T00:00:00Z</dc:date>
    </item>
    <item>
      <title>The GeekNarrator Podcast</title>
      <link>https://jepsen.io/blog/2025-08-06-geeknarrator-podcast</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=IvE1VbOol88"&gt;Kaivalya Apte interviewed Kyle
Kingsbury&lt;/a&gt; for The GeekNarrator
Podcast. We talk about common bugs in distributed systems, type I vs type II
errors, ensuring correctness in Jepsen itself, LLMs, experimental techniques,
formal verification, and more.&lt;/p&gt;
&lt;div class="video-container"&gt;
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/IvE1VbOol88?si=VWKvOCjy7HJwEXnL" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Wed, 06 Aug 2025 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2025-08-06-geeknarrator-podcast</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2025-08-06T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Jepsen 17: ACID Jazz</title>
      <link>https://jepsen.io/blog/2025-08-05-jepsen-17-talk</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;Jepsen’s 17th conference talk, “ACID Jazz”, is now &lt;a href="https://www.youtube.com/watch?v=v8cG2hh10SQ"&gt;available on
YouTube&lt;/a&gt;. This talk was presented
at Antithesis’ &lt;a href="https://bugbash.antithesis.com/"&gt;BugBash&lt;/a&gt; conference, in
Washington, DC, and covers research on &lt;a href="https://jepsen.io/analyses/mysql-8.0.34"&gt;MySQL 8.0.34&lt;/a&gt;, &lt;a href="https://jepsen.io/analyses/datomic-pro-1.0.7075"&gt;Datomic Pro 1.0.7075&lt;/a&gt;, and &lt;a href="https://jepsen.io/analyses/bufstream-0.1.0"&gt;Bufstream 0.1.0&lt;/a&gt;.&lt;/p&gt;
&lt;div class="video-container"&gt;
  &lt;iframe width="560" height="315" src="https://www.youtube.com/embed/v8cG2hh10SQ?si=5CEtfQEPS8R2oPSJ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Tue, 05 Aug 2025 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2025-08-05-jepsen-17-talk</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2025-08-05T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Distributed Systems Glossary</title>
      <link>https://jepsen.io/blog/2025-07-15-distributed-systems-glossary</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;Antithesis and Jepsen are proud to present a &lt;a href="https://antithesis.com/resources/reliability_glossary/"&gt;glossary for distributed systems reliability&lt;/a&gt;. We hope this will be helpful for engineers, testers, and students!&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Tue, 15 Jul 2025 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2025-07-15-distributed-systems-glossary</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2025-07-15T00:00:00Z</dc:date>
    </item>
    <item>
      <title>TigerBeetle 0.16.11</title>
      <link>https://jepsen.io/blog/2025-06-06-tigerbeetle-0.16.11</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;&lt;a href="https://tigerbeetle.com"&gt;TigerBeetle&lt;/a&gt; is a distributed OLTP database for
financial transactions. We &lt;a href="/analyses/tigerbeetle-0.16.11"&gt;worked with TigerBeetle to test versions 0.16.11
through 0.16.30&lt;/a&gt;, and found seven crashes,
elevated latencies during single-node failures, and requests which were retried
forever. We found only two safety issues: missing results for queries with
multiple predicates, and incorrect timestamps in a debugging API. As of version
0.16.45, TigerBeetle had addressed every issue, except for indefinite retries.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Fri, 06 Jun 2025 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2025-06-06-tigerbeetle-0.16.11</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2025-06-06T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Amazon RDS for PostgreSQL 17.4</title>
      <link>https://jepsen.io/blog/2025-04-29-amazon-rds-for-postgresql-17.4</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;With a new &lt;a href="https://github.com/jepsen-io/rds"&gt;experimental library&lt;/a&gt; for
running Jepsen tests on Amazon RDS clusters, we report on &lt;a href="https://jepsen.io/analyses/amazon-rds-for-postgresql-17.4"&gt;a small issue in
Amazon RDS for
PostgreSQL&lt;/a&gt;. At the
“Repeatable Read” isolation level, which in PostgreSQL normally means Snapshot
Isolation, Amazon RDS for PostgreSQL clusters appear to exhibit &lt;a href="https://jepsen.io/consistency/phenomena/long-fork"&gt;Long
Fork&lt;/a&gt;. We observed this
behavior in healthy clusters, in versions ranging from 13.15 to 17.4. Amazon
RDS for PostgreSQL may instead support Parallel Snapshot Isolation, a slightly weaker consistency model.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Tue, 29 Apr 2025 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2025-04-29-amazon-rds-for-postgresql-17.4</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2025-04-29T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Upcoming Events</title>
      <link>https://jepsen.io/blog/2025-03-04-upcoming-events</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;By popular demand, we’re offering another open session of the &lt;a href="https://www.eventbrite.com/e/distributed-systems-fundamentals-registration-1269962525099?aff=jepsenio"&gt;distributed systems fundamentals&lt;/a&gt; class: four half-days discussing the basics of distributed systems theory and practice. For the first time we’re also opening up the &lt;a href="https://www.eventbrite.com/e/distributed-systems-workshop-registration-1269976807819?aff=jepsenio"&gt;accompanying workshop&lt;/a&gt;, for up to five participants. Please join!&lt;/p&gt;
&lt;p&gt;Jepsen also has two conference talks coming up: one at &lt;a href="https://bugbash.antithesis.com/"&gt;BugBash 2025&lt;/a&gt; (April 3-4), in Washington, DC, and a second at &lt;a href="https://systemsdistributed.com/"&gt;Systems Distributed 2025&lt;/a&gt; (June 19-20), in Amsterdam.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Tue, 04 Mar 2025 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2025-03-04-upcoming-events</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2025-03-04T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Antithesis &amp; Bufstream Webinar</title>
      <link>https://jepsen.io/blog/2024-11-27-antithesis-bufstream-webinar</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;&lt;a href="https://antithesis.com/"&gt;Antithesis&lt;/a&gt;, &lt;a href="https://buf.build/"&gt;Buf&lt;/a&gt;, and Jepsen
are running &lt;a href="https://buf-8423972.hs-sites.com/taming-kafkas-behavior-using-jepsen-antithesis?utm_source=jepsen&amp;amp;utm_medium=partner&amp;amp;utm_campaign=2024-12-05-WB%2520Taming%2520Kafka%25E2%2580%2599s%2520Behavior%2520using%2520Jepsen%2520%2526%2520Antithesis"&gt;a joint
webinar&lt;/a&gt;
on December 5th, 2024. We’ll discuss a &lt;a href="https://jepsen.io/analyses/bufstream-0.1.0"&gt;Kafka protocol safety
issue&lt;/a&gt;, talk about the challenges
of distributed systems testing, and show how Jepsen and Antithesis helped
identify critical safety errors in Bufstream. Come watch Antithesis pause,
rewind, and explore a running Bufstream cluster in an interactive debugging
shell!&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Wed, 27 Nov 2024 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2024-11-27-antithesis-bufstream-webinar</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2024-11-27T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Bufstream 0.1.0</title>
      <link>https://jepsen.io/blog/2024-11-12-bufstream-0.1.0</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;Jepsen worked with &lt;a href="https://buf.build/"&gt;Buf&lt;/a&gt; to analyze the safety of
Bufstream, a Kafka-compatible streaming system. We found &lt;a href="https://jepsen.io/analyses/bufstream-0.1.0"&gt;three safety and two
liveness issues in Bufstream
0.1.0&lt;/a&gt;, including the loss of
acknowledged writes in healthy clusters. These problems were resolved by
version 0.1.3. We also discovered serious issues in Kafka’s transaction
protocol, including write loss, aborted read, and torn transactions. These
problems affect Kafka, Bufstream, and (presumably) other Kafka-compatible
systems; they remain outstanding.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Fri, 25 Oct 2024 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2024-11-12-bufstream-0.1.0</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2024-10-25T00:00:00Z</dc:date>
    </item>
    <item>
      <title>MariaDB Snapshot Isolation</title>
      <link>https://jepsen.io/blog/2024-11-07-mariadb-snapshot-isolation</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;In late 2023 we reported that MySQL and MariaDB’s &lt;code&gt;REPEATABLE READ&lt;/code&gt; did not, in
fact, &lt;a href="https://jepsen.io/analyses/mysql-8.0.34"&gt;provide repeatable reads&lt;/a&gt;. The
MariaDB team has been hard at work this past year. They’ve added &lt;a href="https://mariadb.com/resources/blog/isolation-level-violation-testing-and-debugging-in-mariadb/"&gt;a new
flag&lt;/a&gt;,
&lt;code&gt;--innodb-snapshot-isolation=true&lt;/code&gt;, which causes &lt;code&gt;REPEATABLE READ&lt;/code&gt; to prevent
Lost Update, Non-repeatable Read, and violations of Monotonic Atomic View.&lt;/p&gt;
&lt;p&gt;Jepsen has not yet tested this, but it looks like MariaDB might, with the new
flag enabled, offer &lt;a href="https://jepsen.io/consistency/models/snapshot-isolation"&gt;Snapshot Isolation&lt;/a&gt; at &lt;code&gt;REPEATABLE READ&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Fri, 25 Oct 2024 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2024-11-07-mariadb-snapshot-isolation</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2024-10-25T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Distributed Systems Fundamentals - Open Session</title>
      <link>https://jepsen.io/blog/2024-10-25-distributed-systems-class</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;Jepsen’s &lt;a href="https://jepsen.io/services/training#distributed-systems-fundamentals"&gt;distributed systems
training&lt;/a&gt;
introduces engineers and operators to the fundamentals of nodes and networks,
consistency and availability, techniques for replicating state, a slew of
design patterns, and production concerns. By popular request, we’re offering a
special session of this class that anyone can register for. Join us on Zoom, December 16th through 19th, 2024. Tickets are &lt;a href="https://www.eventbrite.com/e/distributed-systems-fundamentals-registration-1060426286569?aff=jepsenio"&gt;on
sale
now&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Fri, 25 Oct 2024 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2024-10-25-distributed-systems-class</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2024-10-25T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Jepsen 0.3.6</title>
      <link>https://jepsen.io/blog/2024-10-18-jepsen-0.3.6</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;Jepsen 0.3.6 is now available on GitHub and Clojars. This is a sizeable
release. It includes a significant correctness bugfix for a rare bug that could
make operations in the history print with the wrong data. It also adds a new
namespace for composing databases, nemeses, and generators when working with
systems where each node has a different role. Kafka-style tests gain new powers
and are significantly faster. And we have the usual slew of small bugfixes,
dependency bumps, and quality-of-life improvements. Happy testing!&lt;/p&gt;
&lt;p&gt;The full release notes are &lt;a href="https://github.com/jepsen-io/jepsen/releases/tag/v0.3.6"&gt;available on GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Fri, 18 Oct 2024 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2024-10-18-jepsen-0.3.6</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2024-10-18T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Jepsen 16 - Systems Distributed 2024</title>
      <link>https://jepsen.io/blog/2024-08-29-jepsen-16</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;Kyle Kingsbury spoke at Systems Distributed 2024 on RavenDB, MariaDB/MySQL, and Datomic.&lt;/p&gt;
&lt;div class="video-container"&gt;
  &lt;iframe width="560" height="315" src="https://www.youtube.com/embed/ecZp6cWhDjg?si=f-2r0qp8DmyoC8d6&amp;amp;start=42" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Thu, 29 Aug 2024 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2024-08-29-jepsen-16</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2024-08-29T00:00:00Z</dc:date>
    </item>
    <item>
      <title>jetcd 0.8.2</title>
      <link>https://jepsen.io/blog/2024-08-08-jetcd</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;Jepsen traced lost update, circular information flow, and aborted reads in etcd
tests to an &lt;a href="https://jepsen.io/analyses/jetcd-0.8.2"&gt;improper retry mechanism in jetcd
0.8.2&lt;/a&gt;, which allowed transactions to
be submitted multiple times, and for committed transactions to appear as if
they had actually failed.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Thu, 08 Aug 2024 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2024-08-08-jetcd</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2024-08-08T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Goto Chicago 2024</title>
      <link>https://jepsen.io/blog/2024-07-23-goto-chicago</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;Kyle Kingsbury will speak on performance techniques in Jepsen at GOTO Chicago,
October 21 &amp;amp; 22, 2024. The talk will touch on a mix of high-level and low-level performance optimizations to make checking large histories tractable, including parallelism, pure functions, immutable data structures, and deforestation; bitsets, avoiding sharing between threads, packing structures into mutable arrays, dynamic compilation of primitive boxes, and macro iteration magic.&lt;/p&gt;
&lt;p&gt;Early bird tickets are &lt;a href="https://gotochgo.com/2024/register"&gt;on sale now&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Tue, 23 Jul 2024 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2024-07-23-goto-chicago</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2024-07-23T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Ethics Policy Update</title>
      <link>https://jepsen.io/blog/2024-07-17-ethics-update</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;We’ve made some small changes to the &lt;a href="/analyses/ethics"&gt;Jepsen ethics policy&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The policy used to promise that Jepsen could veto publication if Jepsen and a
client could not agree on the content of an analysis. However, this veto has
never been used. In fact, Jepsen’s contracts have given Jepsen final approval
over the content of analyses since 2016. We replace the promise of a veto with
a stronger promise of editorial control.&lt;/p&gt;
&lt;p&gt;In light of Jepsen’s multiple authors, we also shift to an organizational third
person voice. Finally, we’ve streamlined some language.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Wed, 17 Jul 2024 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2024-07-17-ethics-update</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2024-07-17T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Datomic Pro 1.0.7075</title>
      <link>https://jepsen.io/blog/2024-05-15-datomic-pro-1.0.7075</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;In collaboration with Nubank, we analyzed &lt;a href="https://jepsen.io/analyses/datomic-pro-1.0.7075"&gt;Datomic Pro 1.0.7075&lt;/a&gt; and found that its inter-transaction safety properties appeared stronger than claimed. Datomic Pro appeared to offer Strong Session Serializable isolation, and Strong Serializable for histories restricted to update transactions. However, Datomic defines unusual intra-transaction semantics in which operations are applied logically concurrent with one another, rather than sequentially. While consistent with Datomic’s documentation, this could cause invariants preserved by individual transaction functions to be broken when those same functions are applied within a single transaction.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Wed, 15 May 2024 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2024-05-15-datomic-pro-1.0.7075</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2024-05-15T00:00:00Z</dc:date>
    </item>
    <item>
      <title>RavenDB 6.0.2</title>
      <link>https://jepsen.io/blog/2024-01-31-ravendb-6.0.2</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;In a brief survey of &lt;a href="/analyses/ravendb-6.0.2"&gt;RavenDB 6.0.2&lt;/a&gt;, we found “ACID”
transactions allowed both lost updates and fractured read, even in healthy
single-node clusters. Depending on how you interpret RavenDB’s documentation
and response to this work, RavenDB may not have interactive transactions at
all.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Wed, 31 Jan 2024 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2024-01-31-ravendb-6.0.2</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2024-01-31T00:00:00Z</dc:date>
    </item>
    <item>
      <title>MySQL 8.0.34</title>
      <link>https://jepsen.io/blog/2023-12-19-mysql-8.0.34</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;We revisited &lt;a href="https://github.com/ept/hermitage/blob/master/mysql.md"&gt;Kleppmann’s
work&lt;/a&gt; on MySQL isolation
levels and found &lt;a href="/analyses/mysql-8.0.34"&gt;surprising behavior in 8.0.34&lt;/a&gt;.
MySQL’s &lt;code&gt;REPEATABLE READ&lt;/code&gt; not only exhibits G2-item, G-single, and lost update,
but also violates internal consistency and &lt;a href="/consistency/models/monotonic-atomic-view"&gt;Monotonic Atomic
View&lt;/a&gt;. It satisfies neither Adya’s
&lt;a href="/consistency/models/repeatable-read"&gt;Repeatable Read&lt;/a&gt; nor the ambiguous ANSI
SQL definition. We also discovered AWS RDS MySQL clusters routinely violate
&lt;a href="/consistency/models/serializable"&gt;Serializability&lt;/a&gt; at the &lt;code&gt;SERIALIZABLE&lt;/code&gt;
isolation level.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Tue, 19 Dec 2023 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2023-12-19-mysql-8.0.34</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2023-12-19T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Redpanda 21.10.1</title>
      <link>https://jepsen.io/blog/2022-04-29-redpanda-21.10.1</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;Jepsen and Redpanda worked together to analyze the &lt;a href="/analyses/redpanda-21.10.1"&gt;Redpanda distributed
queue&lt;/a&gt;, versions 21.10.1 through 21.11.2. We found
three liveness and seven safety issues, including crashes, aborted reads,
inconsistent offsets, circular information flow, and lost or stale messages. We
also discuss surprising aspects of the Kafka/Redpanda transaction model.
Redpanda has resolved seven of the issues we found, although lost/stale
messages and one crash remain under investigation. A few other issues require
only documentation to clarify intended behavior.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Fri, 29 Apr 2022 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2022-04-29-redpanda-21.10.1</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2022-04-29T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Radix DLT 1.0-beta.35.1</title>
      <link>https://jepsen.io/blog/2022-02-05-radix-dlt-1.0-beta.35.1</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;We analyzed the &lt;a href="/analyses/radix-dlt-1.0-beta.35.1"&gt;Radix DLT distributed ledger
system&lt;/a&gt; at version 1.0-beta.35.1, 1.0.0,
1.0.1, and 1.0.2. We found 11 safety errors including stale reads, aborted and
intermediate reads, and the partial or total loss of committed transactions
from transaction log. We also identified issues with transactions which hung
indefinitely, and degraded performance under single-node faults. Following a
system redesign RDX Works reports all safety issues, as well as the indefinite
transaction issue, were fixed in version 1.1.0.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Sat, 05 Feb 2022 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2022-02-05-radix-dlt-1.0-beta.35.1</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2022-02-05T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Scylla 4.2-rc3</title>
      <link>https://jepsen.io/blog/2020-12-23-scylla-4.2-rc3</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;Together with the ScyllaDB team, we found &lt;a href="/analyses/scylla-4.2-rc3"&gt;seven problems in
Scylla&lt;/a&gt;, including lightweight transaction (LWT)
split-brain in healthy clusters due to a.) incomplete row hashcodes and b.)
multiple problems with membership changes. We also identified incomplete or
inaccurate documentation, including claims that non-LWT operations were
isolated and atomic, and undocumented rules about what kinds of membership
operations were legal. Scylla has corrected almost all of these errors via
patches and documentation; remaining cases of split-brain appear limited to
concurrent membership changes&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Wed, 23 Dec 2020 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2020-12-23-scylla-4.2-rc3</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2020-12-23T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Redis-Raft 1b3fbf6</title>
      <link>https://jepsen.io/blog/2020-06-23-redis-raft-1b3fbf6</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;We helped Redis Labs verify early development builds of Redis-Raft, and found
&lt;a href="/analyses/redis-raft-1b3fbf6"&gt;twenty one issues&lt;/a&gt;, including crashes,
split-brain, infinite loops, aborted reads, data corruption, and total data
loss on any failover. Redis Labs has addressed all but one of these issues in
recent versions, and continues to work towards general availability in 2021.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Tue, 23 Jun 2020 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2020-06-23-redis-raft-1b3fbf6</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2020-06-23T00:00:00Z</dc:date>
    </item>
    <item>
      <title>PostgreSQL 12.3</title>
      <link>https://jepsen.io/blog/2020-06-12-postgresql-12.3</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;Jepsen identified a &lt;a href="/analyses/postgresql-12.3"&gt;serializability violation in PostgreSQL
12.3&lt;/a&gt;, where concurrent inserts and updates could
result in transactions which fail to observe each other’s effects. This bug
appears to have been present since the implementation of serializable snapshot
isolation in version 9.1. A patch should be available in the next minor
release, currently scheduled for August 13th.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Fri, 12 Jun 2020 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2020-06-12-postgresql-12.3</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2020-06-12T00:00:00Z</dc:date>
    </item>
    <item>
      <title>MongoDB 4.2.6</title>
      <link>https://jepsen.io/blog/2020-05-15-mongodb-4.2.6</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;A brief investigation into MongoDB 4.2.6’s transaction system found &lt;a href="/analyses/mongodb-4.2.6"&gt;violations
of snapshot isolation&lt;/a&gt;, rather than claimed “full
ACID” guarantees. Weak defaults allowed transactions to lose writes and allow
stale reads unless carefully controlled.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Fri, 15 May 2020 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2020-05-15-mongodb-4.2.6</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2020-05-15T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Dgraph 1.1.1</title>
      <link>https://jepsen.io/blog/2020-04-30-dgraph-1.1.1</link>
      <content:encoded>&lt;div&gt;&lt;p&gt;Dgraph Labs, makers of the &lt;a href="https://dgraph.io"&gt;Dgraph graph database&lt;/a&gt;, worked
with Jepsen to follow up on &lt;a href="/analyses/dgraph-1-0-2"&gt;our 2018 analysis&lt;/a&gt; of
Dgraph 1.0.2. We are pleased to report that Dgraph Labs resolved all issues
from this previous work, and together, we identified &lt;a href="/analyses/dgraph-1.1.1"&gt;five new safety issues in
version 1.1.1&lt;/a&gt;, all involving tablet migration. Three
of these issues appear addressed, and the remainder are under investigation.&lt;/p&gt;
&lt;/div&gt;</content:encoded>
      <pubDate>Thu, 30 Apr 2020 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">https://jepsen.io/blog/2020-04-30-dgraph-1.1.1</guid>
      <dc:creator>Jepsen</dc:creator>
      <dc:date>2020-04-30T00:00:00Z</dc:date>
    </item>
  </channel>
</rss>
