Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

62 lines (35 sloc) 1.884 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. Build the included test server (once):

    // create the database for the local nameserver
    echo "create database gizzard_test_integration_ns;" | mysql
    // retrieve test server dependencies
    cd test_server ; sbt update
  2. Start the test server (with service, injector, management ports of 7918, 7919, 7920 respectively):

    cd test_server ; sbt "run 7918 7919 7920"
  3. Run ./test/


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

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