Skip to content

waltool

Jonathan Ryan edited this page Aug 12, 2019 · 5 revisions

Sirius ships with a command-line operations tool, waltool. waltool primarily allows for the manipulation of the SiriusLog.

Functionality

  • log format conversion between UberStore versions
  • print the last few entries in the log in human-readable format (similar to the unix tail command)
  • log filtering on keys via regular expression (similar to the unix grep command)
  • offline compaction
  • replay PUT/DELETEs for each update in the log as equivalent HTTP requests sent to a specified server

Building waltool

To make waltool, build the sirius-standalone distribution package:

sbt makeStandalone

This will create a target/sirius-standalone directory, as well as a target/sirius-standalone.tgz distributable. waltool lives in sirius-standalone/bin/waltool. Invoke it with no parameters for a usage statement.

sirius-standalone

There are a few other scripts and tools in sirius-standalone. These are currently less supported than waltool, but may prove interesting.

  • nodetool is similar in vision to waltool, but instead of targeting the log, it can connect to a specified Sirius node and interact with it via akka.
  • sirius_interactive.sh fires up a scala repl and imports some useful Sirius classes
  • compact_wal.sh is a helper script for offline compaction of legacy UberStores
  • convert_to_segmented_wal.sh is a helper script for converting a legacy UberStore to a SegmentedUberStore, replacing the original