Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
World desk4 min

Can You Check Database Isolation in CI Without a JVM? Meet adya

Adya is presented as a Rust CLI for running database workloads and checking observed histories without building a JVM-based workflow. Its coverage and clean results have important limits.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Yes: adya is presented as a Rust-based command-line tool that runs database workloads and checks the resulting transaction histories. Its appeal is an integrated workflow for teams that want isolation testing from a non-JVM harness. It is not a complete replacement for Jepsen’s Elle: the reported workload coverage is narrower, and a clean result applies only to the history the tool checked.

What adya checks—and what a clean result means

Adya checks observed behavior, not what application code or database documentation intends to happen. In the account by Zayd Mulani, the tool runs transactions, records their inputs and results, infers dependencies between transactions, and looks for cycles that are forbidden by the consistency model being checked. When it finds a violation, it reports a transaction chain intended to make the conflict understandable.

As an Amazon Associate I earn from qualifying purchases.

For example, the default list-append workload treats each key as a list. Transactions append unique values and read lists; the observed lists constrain the order in which appends could have occurred. The checker builds a dependency graph using write-write (ww), write-read (wr), and read-write (rw) relationships. For strict-serializability-style models, the article says it also accounts for real-time order.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A clean check means no anomaly covered by the selected checker was found in that particular history. It does not establish that every possible schedule is safe, prove application correctness, or rule out anomaly classes the workload cannot expose.

Why a non-JVM workflow can matter

Jepsen’s Elle is not limited to JVM applications. Its official repository describes a route for non-JVM users: write a history to a file or stream and call a wrapper program. The distinction Mulani draws is practical rather than absolute: adya aims to combine workload execution and checking in a Rust-native CLI workflow, rather than requiring users to assemble that path themselves.

The article shows cargo install adya and example adya run commands. Those are examples reported by the author, not independently verified current installation instructions; the available evidence does not establish the present Cargo package, release, flags, or repository status. Confirm the project’s current documentation before relying on a command in CI.

What workloads and databases does it cover?

Built-in workload families

  • List-append: records list reads and unique-value appends, which can reveal ordering conflicts.
  • Read-write registers: models reading and writing register values.

The article says adya does not cover predicate reads or Elle’s bank, set, and counter checkers. It also reports textual proofs rather than Graphviz diagrams.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Database options and custom clients

Mulani’s article reports built-in drivers for SQLite, PostgreSQL, and MySQL. For other systems, it describes an exec mode that exchanges JSON Lines with a client, and mentions a short Python SQLite example. These are article-reported capabilities; the available evidence does not independently verify current compatibility or exact interface details.

How to interpret the reported comparisons

Mulani’s October 6, 2026 article reports two comparisons with Elle. The author says adya matched the expected verdicts, anomaly types, and weakest isolation models ruled out across 56 list-append and read-write-register fixture histories shipped with Elle. In an initial live comparison, Elle completed 34 of 40 generated histories, and adya agreed on all 34 completed cases. These are author-reported results, not an independent benchmark or proof of equivalent coverage.

The official Elle repository describes a broader anomaly vocabulary and cautions that Elle is not complete; it recommends manually checking reported anomalies. A dependency-cycle explanation is useful evidence to investigate, not a substitute for understanding the history and the checker’s assumptions.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What the database runs found—and did not establish

The article reports CI runs against PostgreSQL 17 and MySQL 8.4 using 4,000 transactions, 10 clients, and 6 hot keys at each tested isolation level. The results below are for the article’s list-append workload and setup, not universal guarantees about either database or every workload.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Database and level Reported result in the article How to read it
PostgreSQL 17, READ COMMITTED Anomalies when checked for serializability A history from this setup did not satisfy the stronger model being checked.
PostgreSQL 17, REPEATABLE READ A G2-item anomaly against serializability The article describes PostgreSQL’s level here as snapshot isolation; do not generalize this behavior to every database using the same level name.
PostgreSQL 17, SERIALIZABLE Valid histories in the reported run This is an outcome for the tested histories, not a guarantee for all executions.
MySQL 8.4, REPEATABLE READ Several anomaly classes in the reported workload The article’s claims about lost updates and partial observation of another transaction’s writes are specific to its setup.

The level names alone cannot tell you what a particular engine, version, and workload will do. The value of a history checker is that it tests observed outcomes against a model, while its conclusions remain bounded by the workload and history collected.

A restart experiment is one case, not a general guarantee

Mulani separately reports a PostgreSQL serializable test with 6,000 transactions and nine forced restarts: 2,957 commits and 3,043 failures. The resulting history checked clean. That result describes the reported experiment; it does not establish that every restart pattern, failure mode, or retry policy is safe.

When adya is a useful fit

  • Your team wants to exercise a database under concurrent transactions and check the resulting history in a Rust-oriented or non-JVM workflow.
  • Your question can be expressed using the reported list-append or read-write-register workload families.
  • You can treat a failure report as a lead to investigate and a clean result as evidence about tested histories—not as a certification.

For stronger confidence, vary schedules and inputs, increase contention, and include relevant faults and retries. Check that the workload actually represents the invariants your application depends on; a checker cannot expose behavior the workload never attempts to observe.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.