Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

63 lines (34 sloc) 1.892 kb


Gizzmo is a command-line client for managing gizzard clusters.

Installation and setup

Installation is a simple gem install. You may find it useful to create a ~/.gizzmorc file, which is simply YAML key/values. The keys are the long-style command line option keys converted into Ruby-style variables. A common .gizzmorc will simply be:

host: localhost
port: 7920


Run `gizzmo help` for up-to-date usage.


Block and unblock a shard

BLOCKER=`gizzmo wrap com.twitter.gizzard.shards.BlockedShard a_shard`

gizzmo unwrap $BLOCKER

Reweight a shard safely (the hard way)

REPL=`gizzmo wrap com.twitter.service.flock.edges.ReplicatingShard a_shard`
PARENT=`gizzmo links $REPL | cut -f 1 | grep -v $REPL | head -1`
gizzmo addlink $PARENT a_shard $NEW_WEIGHT
gizzmo unwrap $REPL


Contributions are welcome! Please send a pull request, or if you're internal to Twitter, please make a branch! Commits to master, and/or patches without minimal test coverage will be rejected/reverted.

Running tests

The tests may be somewhat difficult to run outside of Twitter. They assume that:

  • You don't mind blowing away the data in your dev environment.

  • Your MySQL username and password are in the environment variables DB_USERNAME and DB_PASSWORD

To execute the tests:

  1. Set up a nameserver database (once):

    // create the database for the local nameserver
    echo "create database gizzard_test_integration_ns;" | mysql
  2. Pull in test server dependencies (once, or whenever you want to change the Gizzard version):

    cd test/test_server ; sbt clean-lib update
  3. Run rake (the default target is the test suite: all files ending in '_spec' in the test directory):



Copyright © 2010 Twitter, Inc. See LICENSE for details.

Jump to Line
Something went wrong with that request. Please try again.