Skip to content
This repository has been archived by the owner on Sep 18, 2021. It is now read-only.
/ gizzmo Public archive

A command-line client for Gizzard

License

Notifications You must be signed in to change notification settings

twitter-archive/gizzmo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

STATUS

Twitter is no longer maintaining this project or responding to issues or PRs.

gizzmo

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

Usage

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

Recipes

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)

NEW_WEIGHT=1
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

Contributing

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 clean-lib update
  3. Run rake (the default target is the test suite: all files ending in ‘_spec’ in the test directory):

    rake
    

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