Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on May 26, 2014
  1. Andreas Fuchs

    Put the reexec_commandline on State

    antifuchs authored
    This was a misunderstanding of mine: Einhorn doesn't pass the entire
    command line through to its children; we have to keep it on State,
    otherwise it gets lost on the second reload.
  2. Andreas Fuchs
  3. Andreas Fuchs
  4. Andreas Fuchs
  5. Andreas Fuchs

    Rename Einhorn.sanity_check to dump_environment_info

    antifuchs authored
    ...which is what it actually does right now. Once it actually performs
    more involved sanity checks, this should probably be renamed back (:
  6. Andreas Fuchs
  7. Andreas Fuchs

    Make tests wait until they can reach the server port

    antifuchs authored
    This should eliminate the race conditions where the control socket
    exists but the server port isn't open yet.
  8. Andreas Fuchs

    Try to make the tests compatible again with 1.8.7 and above

    antifuchs authored
    * Use File.open() { f.write } instead of File.write
    * Use require(File.expand_path(...)) instead of require_relative
  9. Andreas Fuchs

    Add tests for --drop-env-var and its interaction with --reexec-as

    antifuchs authored
    This should pretty much cover all the changes we need to make einhorn
    resilient to bundler/rbenv ruby upgrades.
Commits on May 24, 2014
  1. Andreas Fuchs
  2. Andreas Fuchs

    Perform a reloading upgrade regardless of circumstance

    antifuchs authored
    Before, when einhorn wasn't running with preloading, it would not
    reload itself. I think this is inconsistent, especially when there's
    --reexec-as involved; so make it always re-exec.
  3. Andreas Fuchs

    Add (failing) tests for commuting environments

    antifuchs authored
    This is pretty much the meat of this whole branch: When upgrading the
    einhorn master, we should correctly re-exec the running process (that
    is, with the given command line).
  4. Andreas Fuchs

    Use plain Subprocess in startup tests

    antifuchs authored
    This is way more reliable/better than the einhorn helper (which is
    meant to provide support for the long-running form of einhorn).
  5. Andreas Fuchs

    Disable the vestigial test rake task

    antifuchs authored
    It only runs a subset of duplicate tests from the actual test rake
    task, so it can really die.
Commits on May 23, 2014
  1. Andreas Fuchs

    Clean up the restart test

    antifuchs authored
    * No more chunder on stdout and stderr
    * In fact, capture stdout and stderr of einhorn and return it from the
      helper.
    * Remove a silly debug print statement from the test
  2. Andreas Fuchs

    Flip the behavior of the einhorn helper's :expected_exit_code

    antifuchs authored
    We're going to use the non-expecting version way more.
  3. Andreas Fuchs

    Add an integration test for proper restarting

    antifuchs authored
    This is fairly ugly - but I think we can get this to look nicer.
  4. Andreas Fuchs

    Add :re_exec_commandline to TransientState structure

    antifuchs authored
    We reference it in places, but didn't have it before. Oops.
  5. Andreas Fuchs
  6. Andreas Fuchs

    On startup, don't exec the upgrade commandline

    antifuchs authored
    This would launch einhorn's re-exec command instead of the worker,
    confusing EVERYTHING. Now, launch the worker properly again.
  7. Andreas Fuchs
  8. Andreas Fuchs
Commits on May 22, 2014
  1. Andreas Fuchs

    Add a command line switch to drop env vars on upgrade

    antifuchs authored
    This should allow anyone who uses bundler or rbenv to un-poison the
    environment that gets passed on to the upgraded einhorn process, so it
    can pick up the correct & current version that's intended.
  2. Andreas Fuchs

    When upgrading, start a sentinel to see if re-execing can work

    antifuchs authored
    The intention is to that instead of taking down the Einhorn
    master (like it would previously) and leaving its worker children
    orphaned, this will make the master scream if it can't safely re-exec.
  3. Andreas Fuchs

    Allow customizing the upgrade command line... via the commandline

    antifuchs authored
    This allows replacing the einhorn command name (say,
    `/usr/local/bin/einhorn`) with a more intricate command
    line (e.g. `rbenv exec bundle exec einhorn`). That command line will
    be split using shellwords.
    
    To that end, introduce `Einhorn.upgrade_commandline`, a helper method
    that can construct the command line used when reloading code.
  4. Andreas Fuchs

    Add an --upgrade-check switch

    antifuchs authored
    This can allow the reload function to test whether the upgrade is
    going to fail for a terrible reason, like the bundler gem changing out
    from under Einhorn.
Commits on May 21, 2014
  1. Andreas Fuchs

    Add integration test scaffold

    antifuchs authored
    This is gonna be important in the commits to come (-:
Commits on Apr 8, 2014
  1. Andy Brody

    Negative excess is not an error.

    ab authored
    This can happen when the target number of workers exceeds the number of
    old / running workers.
Commits on Apr 5, 2014
  1. Nelson Elhage

    Bump version

    nelhage authored
  2. Nelson Elhage

    Merge pull request #33 from stripe/nelhage-index

    nelhage authored
    Pass each child a unique index number.
  3. Nelson Elhage

    rename set-workers to set_workers for consistency

    nelhage authored nelhage committed
  4. Nelson Elhage

    Add a command to flat-out set the worker count.

    nelhage authored nelhage committed
  5. Nelson Elhage

    Pass each child a unique index number.

    nelhage authored nelhage committed
    This allows for running N differentiated children within an einhorn
    supervisor.
Commits on Apr 4, 2014
  1. Evan Broder

    Merge pull request #35 from ebroder/thin-attach-socket

    ebroder authored
    Modify thin example to use thin-attach_socket + EventMachine-LE
  2. Evan Broder

    Modify thin example to use thin-attach_socket + EventMachine-LE

    ebroder authored
    Also update the docs to point at those instead of our thin/EM patches.
Something went wrong with that request. Please try again.