0.1.18
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