Skip to content

0.1.19

Compare
Choose a tag to compare
@aphyr aphyr released this 15 May 02:37

0.1.19 is the last release, I think, in the 0.1.x series. It introduces a new generator namespace, jepsen.generator.pure, which is a preview of what jepsen.generator will become in the 0.2.x series. There are also a few bugfixes, library upgrades, and quality-of-life improvements, as usual.

Bugfixes

  • Crashes with gnuplot and huge argument lists should be a thing of the past, thanks to some fixes in jepsen's gnuplot library.
  • jepsen.cli won't try to print infinite sequences when logging tests.
  • jepsen.tests.causal-reverse had an syntax error in its generator which I think might have led to arityexceptions? It's fixed now!

New Features

  • There's now a docker-specific implementation of Remote, which means you don't need to use a jumpbox in a docker-compose environment.
  • Client and generator validation layers might help catch some common mistakes when writing tests.

API changes

  • jepsen.generator.pure is basically stable for writing production tests at this point. See the namespace docs for details.
  • jepsen.generator.pure/delay-til is gone, replaced by a (now working!) implementation of delay. I have to take a few steps back and think carefully about what delay-til actually means.
  • Assorted test generators now yield a compatibility shim which provides both classic and pure generators in one. This should basically preserve compatibility, but if you're used to digging around in generator guts or dispatching on generator type, you may notice changes.
  • nemesis.time allows passing functions to control which nodes are targeted.
  • nemesis.combined chooses a random nonempty subset of primaries, rather than all primaries.
  • nemesis.combined generators now stagger by default, rather than emitting events on a nice schedule.
  • net: empty grudges are now legal, and do nothing, like you'd expect.

Minor Changes

  • os.debian now installs tcpdump by default.
  • We have Eastwood as a linter now.

Dependencies

  • Elle 0.1.1
  • Gnuplot 0.1.3