1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
Ruby on Rails
Find a file
Nick Sieger d07a6b1a4a Make clear_active_connections! also return stale connections back to the pool
- also clean up some cruft remaining from per-thread connection cache
2008-08-29 14:12:12 -05:00
actionmailer Harmonize framework require strategy. Don't add self to load path since Rails initializer and RubyGems handle it. 2008-08-25 21:22:34 -07:00
actionpack Ensure that calling content_tag_for in a helper doesn't cause duplicate output. 2008-08-29 20:52:01 +02:00
activemodel Fix file permissions 2008-07-31 16:36:23 -05:00
activerecord Make clear_active_connections! also return stale connections back to the pool 2008-08-29 14:12:12 -05:00
activeresource Harmonize framework require strategy. Don't add self to load path since Rails initializer and RubyGems handle it. 2008-08-25 21:22:34 -07:00
activesupport Add synchronization to connection pool also 2008-08-29 14:12:09 -05:00
ci Be more careful 2008-08-26 12:21:48 +02:00
doc/template Horo rdoc template 2008-06-22 10:38:25 -07:00
railties Revert "Change all databases.rake adapter 'when' statements to use regexes." 2008-08-29 14:12:09 -05:00
.gitignore The 'rails' command was broken by the last commit. Fix that. 2008-08-26 16:28:41 +02:00
pushgems.rb No more svn version numbers to rely on, use timestamps instead 2008-05-11 18:21:47 -05:00
Rakefile Horo rdoc template 2008-06-22 10:38:25 -07:00
README.rdoc Nearing the finish line. Initial fixed-size connection pool implemented, more docs 2008-08-29 14:12:11 -05:00
release.rb Making ready for release of 2.1 2008-05-31 17:03:03 -07:00

== About

This is Nick's connection pool branch, wherein he attempts to rewrite Rails' connection handling code to
be more thread-safe, and to add connection pooling features.

== Goals

- Preserve Rails' lazy connection acquisition and caching strategy behavior as it exists prior to this work.
- Add ability to configure a connection pool to limit the number of connections made to a database in multiple-thread scenarios.
- Threads will block for a configurable timeout if the pool is exhausted until a connection is available.
- If none is available during the timeout period, an exception will be raised.
- Add a checkout/checkin API to reserve and release a connection to/from the pool.
- Add several different connection handling/pooling classes to serve different needs:
  - proper fixed-size connection pool
  - connection-per-thread with no maximum on the number of connections
  - single thread cached connection
  - pass-through to external connection pool (JRuby/JNDI data source connection pool)

== TODO

Remaining tasks:

- Review and put the thing to real work.
- Look at whether existing clear_* or verify_* methods can be deprecated or removed.