Skip to content

0.1.18

Compare
Choose a tag to compare
@aphyr aphyr released this 27 Mar 19:53

0.1.18 includes Elle, a new checker based on cycle detection. Elle was under development as jepsen.tests.cycle, and saw some use in previous tests; if you see issues with this upgrade related to missing functions in jepsen.tests.cycle.*, see the stubs we left in those namespaces, and Elle's source itself. This release also includes several minor (but pleasing!) quality-of-life improvements: a pre-packaged tcpdump wrapper, web interface affordances, more polite handling of various edge cases, and cleaner docker scripts.

Bugfixes

  • Plot checkers no longer throw exceptions for empty histories, and instead silently produce no output.
  • We no longer try to download logfiles that don't exist, which should cut down on noise at the end of tests.
  • Debian now uses the iproute2 package, which fixes a package-not-found error.
  • jepsen.os.debian no longer barfs when installed packages include an arch (e.g. foo:i386).

New Features

  • Jepsen now includes Elle, a new library for checking transactional systems using cycle detection.
  • jepsen.db/tcpdump: a DB which grabs tcpdump traces of other databases. Helpful for debugging wire activity when you don't trust your clients!
  • Web interface: clicking the title of a test directory copies the full local path to the clipboard. Helpful for quickly getting a shell in the store directory, so you can use grep, less, etc.
  • Web interface: there's a .zip link on each test page now, not just on the main list of tests.
  • New CLI option --logging-json emits JSON-structured logs. Not bulletproof, but helpful.

API changes

  • Much of jepsen.tests.cycle has been pulled out into Elle; we retained a few stubs with Jepsen-specific wrappers.

Minor Changes

  • jepsen.store/load now returns vectors, rather than ArrayLists. This was a mild pain when writing checkers which assumed persistent data structures were a thing.
  • jepsen.control.net/ip throws a meaningful error when it can't get an IP for a node.
  • Assorted docker improvements
  • jepsen.txn/ext-reads and ext-writes performance improvements

Dependencies

  • Elle 0.1.0
  • jepsen.txn 0.1.2