Changeset [a6f6a986ab3aa1414368d24892a808c448ecb564] by Michael S. Klishin
September 28th, 2008 @ 09:06 AM
Merge in forking branch.
- Merb starts with master and worker processes now.
- Logger is now 100% thread safe and works on current JRuby.
- New options for fast redeploy/restart of cluster.
- Reloading machinery should be bullet proof now.
Squashed commit of the following:
commit 4405ac5db172a40d533b71a0a57a3233aea13435 Author: Yehuda Katz wycats@gmail.com Date: Sun Sep 28 01:24:39 2008 -0400
Add --fast-deploy option
commit 247779ebe96100b49690581801a897636e72b36a Author: Yehuda Katz wycats@gmail.com Date: Sun Sep 28 01:19:39 2008 -0400
Operator precedence ftl
commit 55dcdc6fbc29257dcaf25997d59cdf66fb66a507 Author: Yehuda Katz wycats@gmail.com Date: Sun Sep 28 00:31:53 2008 -0400
Somehow the code that supports a single log file went missing :P
commit afc291cd9d5c660c4071741b21e79a3df62223f2 Author: Yehuda Katz wycats@gmail.com Date: Sat Sep 27 16:23:28 2008 -0400
Tests pass: we don't need to fork for class load in test env, plus update config spec for some small changes to the internal API
commit 67e1756c267edb27f0229e0e7f9883736868742a Author: Yehuda Katz wycats@gmail.com Date: Sat Sep 27 16:14:16 2008 -0400
get merb -k and merb -K to work (with and without `all')
commit eb52fcec508a458af4d2d286223960b24a2954c3 Author: Yehuda Katz wycats@gmail.com Date: Sat Sep 27 16:13:48 2008 -0400
Fix bug with creating a new log
commit 70a47b4b70c67a0328f1845fab0f9ef258a1ec87 Author: Yehuda Katz wycats@gmail.com Date: Fri Sep 26 23:58:28 2008 -0700
Reload spec needs to be added back later; logger specs work again after removing mocks and modifying specs for public API changes
commit fdc4ec0c04073e4ffca7d484152dbaedf02f1f97 Author: Yehuda Katz wycats@gmail.com Date: Fri Sep 26 23:38:57 2008 -0700
Fix logger helper
commit d22b8e6c60b48718e7484a1154a2211c5fa17404 Author: Yehuda Katz wycats@gmail.com Date: Fri Sep 26 22:12:14 2008 -0700
Attempt threadsafe logger
commit 205f2436a741841abc92901c015f3c470a5b99b7 Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 23:57:07 2008 -0700
Hide the backtrace for Mongrel timeout errors.
commit 27779e1f857c3555c87451a1011bbeee646fa1f5 Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 23:22:17 2008 -0700
Respawn processes killed with kill -9
commit f4fd0d39ea76e1722ee115f15f307732603d7ce4 Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 23:18:02 2008 -0700
Tons of comments; support for various forking configurations
commit acb90a6e57e075717a235f5896df545937880416 Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 22:32:13 2008 -0700
Forking setup works without any forking.
commit ab4f142a2433452c940696d2f6bd9e23e375ea20 Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 17:59:58 2008 -0700
Update thin for new stop() API
commit e5937d5a6a08d29fcf0d40b3eb6e18a6dc7191a7 Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 17:58:35 2008 -0700
Added better errors for failures originating with Merb
commit 04e2a9b4e7e997613d0f712d4d79612304066808 Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 17:57:20 2008 -0700
Checked in experiments (for posterity)
commit 7e8385254168c99e39208fbadbdb4758c9f52b92 Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 13:16:56 2008 -0700
All Ruby-based servers work now with forking; NEXT: Make forking only happen when appropriate
commit abe9f500695154adc0da4535652ef8a070435875 Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 01:35:33 2008 -0700
Help REE make better use of GC
commit 388941a35c0454153f0e80ae9ec9deb44c5d2252 Author: Yehuda Katz wycats@gmail.com Date: Wed Sep 24 23:47:13 2008 -0700
Ebb works
commit a5b48f4ba2ac499a020d748466f8cba2a8223fb6 Author: Yehuda Katz wycats@gmail.com Date: Wed Sep 24 22:26:07 2008 -0700
Someone should figure out why I had to make the change I needed to in config.rb; abstract up the API for making a new forkable process; thin-turbo appears to have some issues
commit 6e2a107c4bec7281ff944b92dd426f1c47137663 Author: Yehuda Katz wycats@gmail.com Date: Wed Sep 24 12:10:55 2008 -0700
Fix some more issues relating to graceful exits; remove pids on exit; TODO: merb -k must work
commit 717d5a8667a1fc206061c007e00528643676fb5e Author: Yehuda Katz wycats@gmail.com Date: Wed Sep 24 00:05:26 2008 -0700
Tighten things up so that ctrl-c works correctly
commit 76eba224d0beed7a32a2e20826f0f0574a4e20c9 Author: Yehuda Katz wycats@gmail.com Date: Tue Sep 23 21:18:20 2008 -0700
Reload works again
commit ca5d6b2a3df884a074d289a41eeb56f540849686 Author: Yehuda Katz wycats@gmail.com Date: Tue Sep 23 18:32:55 2008 -0700
Finish up making mongrel handle everything correctly. We need to update merb -k to use the new signals.
commit 9ec4de2155eab3f398138889584f3dfd25d226c2 Author: Yehuda Katz wycats@gmail.com Date: Tue Sep 23 10:16:04 2008 -0700
More forking support
commit ec7cfae89c157333a3df6c57a9b1987caf51f7e4 Author: Yehuda Katz wycats@gmail.com Date: Sat Sep 20 00:52:47 2008 -0500
Initial experiments are a success. TODO: Move the logic out of mongrel and make a proper clustering instead of hardcoding to 4
commit aceea3838234535573aa02c2d914d65c11a1ceb5 Author: Yehuda Katz wycats@gmail.com Date: Fri Sep 19 18:47:09 2008 -0500
Split out the code transaction into a method and do some experimentation with cluster forking.
commit 56e09f16c302126864c72adf9ecbdf992b29c8a3 Author: Yehuda Katz wycats@gmail.com Date: Fri Sep 19 13:43:39 2008 -0700
Better exit message
commit 2b67c34ac05de5c48260baa9a6f0d95f70101ab4 Author: Yehuda Katz wycats@gmail.com Date: Fri Sep 19 13:10:19 2008 -0700
Initial support for fast redeploys and code reloading via forks.
commit b7e9fc3e9f08c7970d1b6d69928e832511c7f2fe Author: Yehuda Katz wycats@gmail.com Date: Fri Sep 26 23:58:28 2008 -0700
Reload spec needs to be added back later; logger specs work again after removing mocks and modifying specs for public API changes
commit bdf5c2d82d7420f4604e48f60e69e2d2f037858a Author: Yehuda Katz wycats@gmail.com Date: Fri Sep 26 23:38:57 2008 -0700
Fix logger helper
commit 8b09d459156158673d174a2d86cc32bf5175049c Author: Yehuda Katz wycats@gmail.com Date: Fri Sep 26 22:12:14 2008 -0700
Attempt threadsafe logger
commit b3b0eb25e3037031a34588683be8e6d6c8db621c Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 23:57:07 2008 -0700
Hide the backtrace for Mongrel timeout errors.
commit 315d89c21f13b32c6db4d58ce945be361061ca6f Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 23:22:17 2008 -0700
Respawn processes killed with kill -9
commit a7ba4dbb14aa0a3e6a56757713f18820b241c982 Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 23:18:02 2008 -0700
Tons of comments; support for various forking configurations
commit 093d38fcb65f67ac44e786e266475c88f7c16d38 Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 22:32:13 2008 -0700
Forking setup works without any forking.
commit 9e4d8c861806c782b99b00bcbc98ee1223113fc7 Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 17:59:58 2008 -0700
Update thin for new stop() API
commit 7c376ee3dd3e797026b5e0917a58c897d8a623f5 Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 17:58:35 2008 -0700
Added better errors for failures originating with Merb
commit 0ea49649648e307f7289edee928a8485ba96f75f Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 17:57:20 2008 -0700
Checked in experiments (for posterity)
commit da7611a85255b5fb80e728bb7af48dfba8ff44d0 Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 13:16:56 2008 -0700
All Ruby-based servers work now with forking; NEXT: Make forking only happen when appropriate
commit 5cd1901d7edd8cc98a2b83da45b4a85ff741f0e8 Author: Yehuda Katz wycats@gmail.com Date: Thu Sep 25 01:35:33 2008 -0700
Help REE make better use of GC
commit 291c3127375786fd64d0808327670d702157f30c Author: Yehuda Katz wycats@gmail.com Date: Wed Sep 24 23:47:13 2008 -0700
Ebb works
commit 956782efc0ab3877eb0161c0b9140fb118db4d4d Author: Yehuda Katz wycats@gmail.com Date: Wed Sep 24 22:26:07 2008 -0700
Someone should figure out why I had to make the change I needed to in config.rb; abstract up the API for making a new forkable process; thin-turbo appears to have some issues
commit 099dc18ff81094a707790e99a922504e661aeba0 Author: Yehuda Katz wycats@gmail.com Date: Wed Sep 24 12:10:55 2008 -0700
Fix some more issues relating to graceful exits; remove pids on exit; TODO: merb -k must work
commit d209193a88ab5d522213e4f1747942e1b04b21f3 Author: Yehuda Katz wycats@gmail.com Date: Wed Sep 24 00:05:26 2008 -0700
Tighten things up so that ctrl-c works correctly
commit bd10fe6dfcd197b602474f9afd6075db337fb005 Author: Yehuda Katz wycats@gmail.com Date: Tue Sep 23 21:18:20 2008 -0700
Reload works again
commit 6c2ebcc54a48ac0ef678ac544ebe22858ed5029c Author: Yehuda Katz wycats@gmail.com Date: Tue Sep 23 18:32:55 2008 -0700
Finish up making mongrel handle everything correctly. We need to update merb -k to use the new signals.
commit 412c4c163dfa363a7c64e047ec4e54c1b61832a4 Author: Yehuda Katz wycats@gmail.com Date: Tue Sep 23 10:16:04 2008 -0700
More forking support
commit 94c5eb8d213b107b1c82314cb972649226629376 Author: Yehuda Katz wycats@gmail.com Date: Sat Sep 20 00:52:47 2008 -0500
Initial experiments are a success. TODO: Move the logic out of mongrel and make a proper clustering instead of hardcoding to 4
commit 9a57de6ab3253280b90e3e4bf9dc49b1b2a51c61 Author: Yehuda Katz wycats@gmail.com Date: Fri Sep 19 18:47:09 2008 -0500
Split out the code transaction into a method and do some experimentation with cluster forking.
commit 71306ed36084efcafcb51f07bb426509f9fafe4a Author: Yehuda Katz wycats@gmail.com Date: Fri Sep 19 13:43:39 2008 -0700
Better exit message
commit b7dac300dc08fc8d89e1e2344c4ec77a5e0ad5b6 Author: Yehuda Katz wycats@gmail.com Date: Fri Sep 19 13:10:19 2008 -0700
Initial support for fast redeploys and code reloading via forks.
Committed by Michael S. Klishin
- M experimentation/experiments/autoload1.rb
- M experimentation/experiments/autoload2.rb
- M experimentation/experiments/datamapper.rb
- M experimentation/experiments/drb1.rb
- M experimentation/experiments/drb2.rb
- M experimentation/experiments/fork.rb
- M experimentation/experiments/new_rake.rb
- M experimentation/experiments/protected.rb
- M experimentation/experiments/proxying.rb
- M experimentation/experiments/rack.rb
- M experimentation/experiments/rollback.rb
- M experimentation/experiments/rollback2.rb
- M experimentation/experiments/sorting_mimes.rb
- M experimentation/simple_benches/haml.rb
- M experimentation/simple_benches/instance_eval.rb
- M experimentation/simple_benches/make_method.rb
- M lib/merb-core.rb
- M lib/merb-core/bootloader.rb
- M lib/merb-core/config.rb
- M lib/merb-core/logger.rb
- M lib/merb-core/rack.rb
- M lib/merb-core/rack/adapter.rb
- M lib/merb-core/rack/adapter/abstract.rb
- M lib/merb-core/rack/adapter/ebb.rb
- M lib/merb-core/rack/adapter/evented_mongrel.rb
- M lib/merb-core/rack/adapter/mongrel.rb
- M lib/merb-core/rack/adapter/swiftiplied_mongrel.rb
- M lib/merb-core/rack/adapter/thin.rb
- M lib/merb-core/rack/adapter/thin_turbo.rb
- M lib/merb-core/rack/adapter/webrick.rb
- M lib/merb-core/rack/handler/mongrel.rb
- M lib/merb-core/server.rb
- M lib/merb-core/test/helpers/multipart_request_helper.rb
- M spec/private/config/config_spec.rb
- M spec/public/logger/logger_spec.rb
- M spec/public/reloading/reload_spec.rb
- M spec/spec_helper.rb
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
