Skip to content

0.1.9

Compare
Choose a tag to compare
@aphyr aphyr released this 24 May 22:54
· 1804 commits to main since this release

New Features

  • A new namespace, jepsen.tests.bank, provides support for running snapshot-isolated bank tests, including visualizations!
  • A new namespace, jepsen.tests.long-fork, looks for long forks, an anomaly possible under parallel snapshot isolation
  • For flaky databases, you can now throw a particular type of exception to trigger automatic retries in DB setup
  • jepsen.control/daemon-running? checks to see if pidfiles are alive
  • Jepsen now downloads logs automatically if the JVM is interrupted; e.g. if a test crashes or if you ^C
  • Generators now provide a somewhat more helpful prn/pprint representation
  • jepsen.generator/time-limit now interrupts threads when the time limit expires, rather than waiting up to dt seconds
  • jepsen.cli/single-test-cmd now also provides an analyze command for re-running an analysis on the last test. This is a gross hack, but really helpful.
  • CLI tests can now pass --nodes n1,n2,n3 instead of passing --node n1 --node n2, ...

API Changes

  • jepsen.checker/set and queue now emit absolute counts, rather than ambiguous fractions.

Minor Changes

  • jepsen.checker/set now accepts any type of collection, not just sets. We're laying the groundwork for multiset checkers
  • The web interface now shows test times with punctuation
  • jepsen.nemesis default nemeses now use the Nemesis protocol
  • jepsen.generator/delay and stagger now validate their arguments are non-negative integers

Bugfixes

  • jepsen.checker.perf/qs->colors works with more than six quantiles now.
  • jepsen.generator/phases and concat no longer make you wade through every phase in order to get ops from later phases. This fixes a common issue where operations in a test with a waiting phase had to wait on every final operation.