Commit Graph

264 Commits

Author SHA1 Message Date
Kyle Banker 5bb0084a13 minor: adjust low socket threshold 2011-11-16 12:08:13 -05:00
Kyle Banker 63ca1c7648 RUBY-350 allow ':' in usernames in URI 2011-11-15 16:31:21 -05:00
Kyle Banker 6345820eae RUBY-345 update logging startup message 2011-11-15 15:59:42 -05:00
Kyle Banker fbdf16bd48 minor: text fixes 2011-11-07 13:36:57 -05:00
Kyle Banker 9cb9f5c663 minor: test fix 2011-11-04 16:53:28 -04:00
Kyle Banker dc4be1afc7 Prune sockets above max sockets per pool,
and close sockets associated with dead threads.
2011-11-04 14:26:12 -04:00
Kyle Banker f224df45aa minor: cleanup 2011-11-04 13:25:13 -04:00
Kyle Banker a2a307c45d Distinguish between hard and soft pool close. 2011-11-04 09:23:41 -04:00
Kyle Banker f668678fd1 Store sockets in thread-local variables when possible.
Allow connection pools to grow if needed. All this minimizes
the number of locks required and reduces the waiting time
for these locks.
2011-11-03 18:37:23 -04:00
Kyle Banker f98c1099dc Ensure we pass pool timeout to pool. 2011-11-02 15:21:46 -04:00
Kyle Banker 78dd5035d7 minor fix 2011-10-17 14:49:44 -05:00
Kyle Banker 7a11bb18a9 Ensure that cursor requiring getmore ops will not
be affected by replica set refresh.

Prep for sending commands to secondaries.
2011-10-17 14:41:09 -04:00
Kyle Banker 6a7e991689 Fix connection leak and refresh. 2011-10-14 09:52:11 -04:00
Kyle Banker 1001e59e44 minor: test framework fixes; minor bug fixes 2011-10-13 17:58:20 -04:00
Kyle Banker c2070bb90a minor: simply and refactor auto refresh 2011-10-12 17:13:48 -04:00
Kyle Banker f5f714a1a1 Added some basic, sanity-checking tests. 2011-10-07 13:55:09 -04:00
David E. Chen 9eaf6b7b83 Support the current MongoDB URI scheme with multiple hosts/ports separated by commas all using the same authentication and database. 2011-09-26 17:39:47 -04:00
Michael Glass fd0e858021 MongoDB URI should allow db with no username or password. 2011-09-26 16:21:43 -04:00
Kyle Banker 63c91af1b1 minor fixes and doc updates. :sync is default refresh mode. 2011-09-15 18:44:02 -04:00
Kyle Banker 3e3f05813a minor: cleanup and test fix 2011-09-15 17:46:59 -04:00
Kyle Banker b910e3e635 Add synchronous refresh; fix connection leak. 2011-09-15 15:44:12 -04:00
Kyle Banker 83eaa4d51b Replica Set connection improvements for refresh and multi-threaded apps. 2011-09-13 17:50:01 -04:00
Kyle Banker 701bba8942 RUBY-306 added missing file 2011-09-11 12:08:26 -04:00
Kyle Banker 50c38c6c6b RUBY-284 document :read API 2011-09-06 14:58:03 -04:00
Kyle Banker b0b1c043ca Pool manager unit test. 2011-09-02 17:26:43 -04:00
Kyle Banker e2178b0f1d RUBY-322 nicer inspect methods 2011-09-01 11:42:56 -04:00
Kyle Banker a916d3c8a2 minor: organization 2011-09-01 11:32:32 -04:00
Kyle Banker fbeea87c47 Added some read preference tests; refactoring; nice Pool#inspect. 2011-08-31 17:34:06 -04:00
Kyle Banker 2ff4169a50 Remove unnecessary code. 2011-08-31 16:06:14 -04:00
Kyle Banker adb4675f20 RUBY-321 Use sync RW lock for ReplSetConnection. Bug fixes. 2011-08-31 16:05:21 -04:00
Kyle Banker e8a5375cbf minor: replica set test fixes 2011-08-30 16:16:47 -04:00
Kyle Banker 8b2de82464 RUBY-320 ReplSetConnection now caches tags and maps them to pools for reading. 2011-08-30 15:59:04 -04:00
Kyle Banker f00c0dfcf0 RUBY-316 initial SSL support 2011-08-26 17:35:40 -04:00
Kyle Banker 5559f91da2 RUBY-314 test for update when a node is removed 2011-08-25 18:52:20 -04:00
Kyle Banker 3c127984a3 RUBY-242 check BSON size on a per-connection basis. 2011-08-25 14:57:24 -04:00
Kyle Banker 0e227d5a39 minor: remove unused method 2011-08-25 11:34:24 -04:00
Kyle Banker f3fbb98fa8 RUBY-314 replica set connection and test cleanup 2011-08-25 11:27:58 -04:00
Kyle Banker 1090dd3873 RUBY-314 initial implementation of replica set health checking via background thread 2011-08-24 18:34:00 -04:00
Kyle Banker 9ea718522f RUBY-291 automate local replica set reads by ping time 2011-08-22 11:52:11 -04:00
Kyle Banker 2bfe205c51 Merged wpiekutowski's commits to enable warnings
on test suite and clean up some code.

Conflicts:
	test/cursor_test.rb
2011-03-23 16:02:04 -04:00
Kyle Banker 997d9b8ae2 RUBY-231 RUBY-250 Validate socket against pid 2011-03-17 22:15:14 -04:00
Mauro Pompilio fa0a933780 Fix the exception message shown when there's an IOError
while closing a socket in the pool.
2011-02-23 12:43:20 -05:00
Wojciech Piekutowski 2971793b48 Remove dead code 2011-02-20 17:12:46 +01:00
Wojciech Piekutowski e4867b542e Initialize instance variables for available options 2011-02-20 16:12:30 +01:00
Wojciech Piekutowski b541972bdc Remove duplicating character classes from URI regexp in Mongo::URIParser 2011-02-20 15:36:15 +01:00
Kyle Banker ed44a7490c Improved replica set failover tests. A few
improved exception messages.
2011-02-15 16:48:29 -05:00
Kyle Banker e55cf2b7d1 minor: doc fix 2011-02-10 17:09:03 -05:00
Kyle Banker e8e617e95f Test for replica set authentication; bug fix. 2011-02-02 11:26:31 -05:00
Kyle Banker 7c4740c47c RUBY-232 handle authentication with connection pooling 2011-01-31 14:47:38 -05:00
Kyle Banker 0d91faf6b1 RUBY-226 minor: license update 2011-01-17 12:26:32 -05:00
Kyle Banker 2b835c0e48 RUBY-227 passwords in URIs can contain all
characters excepts commas now.
2011-01-17 11:05:24 -05:00
Kyle Banker 65f59ba2d6 RUBY-222 Collection#group gets a new, reasonable API 2011-01-06 10:05:19 -05:00
Kyle Banker a197ea7852 RUBY-219 minor: use opts instead of options throughout 2011-01-05 11:30:20 -05:00
Kyle Banker 70bbb6f1fc minor: claification 2011-01-03 14:11:29 -05:00
Kyle Banker b83877527e minor: docs 2010-12-30 15:45:24 -05:00
Kyle Banker 4e5b1a7d23 RUBY-205 RUBY-150 Support new connection URI options 2010-12-30 15:40:50 -05:00
Kyle Banker 39b9656fc4 Fixed request id checking for threaded inserts. 2010-12-15 12:12:51 -05:00
Kyle Banker 95c0fe088f Fully-automated replica set tests. 2010-12-14 17:38:52 -05:00
Kyle Banker 08b7cddc81 Initial ReplSetConnection checking. Refactoring. 2010-12-10 16:00:35 -05:00
Kyle Banker 8aaed130d6 Cleanup for distributed reads on replica sets. 2010-11-24 13:49:34 -05:00
Kyle Banker 1e57ca90e1 Initial commit for reads from rs secondaries 2010-11-16 15:43:59 -05:00
Mislav Marohnić 56f37e49b6 replace usage of `returning` with `each_with_object`
`each_with_object` is a Ruby 1.9 method, here re-implemented in core_ext.rb
in case it's missing (for older Ruby versions). Using `returning` is bad in
combination with Ruby on Rails because each usage of the method will emit
a Rails deprecation warning. This might be considered an Active Support bug,
but it's better to avoid using `returning` altogether and use `tap` from
Ruby 1.8.7, also re-implemented here in case it's missing.

Since existing usages or `returning` were better suited for `each_with_object`
than `tap`, they were rewritten using the former instead.
2010-09-13 01:10:38 +08:00
Kyle Banker a7e2991c31 fix for boolean command response in core server 1.5.2 2010-05-31 22:52:03 -04:00
Kyle Banker 97ee66be02 minor: source file encoding with magic comment 2010-05-07 15:33:27 -04:00
sleverbor ed76126a12 namespaced the OrderedHash class 2010-05-06 18:25:18 -07:00
Kyle Banker 35dac1f31e added find_and_modify helper 2010-04-06 17:56:21 -04:00
Kyle Banker 45d3b91882 exception refinements for bson split 2010-04-05 18:24:31 -04:00
Kyle Banker cc253cc111 minor: fix for assert_valid_keys 2010-04-05 14:22:31 -04:00
Kyle Banker f2bc05f51c merge new bson commits 2010-03-19 15:23:24 -04:00
Charles Remes 18d7d1c699 Split the BSON logic out to a separate gem
- changed the BSON constant to BSON_CODER and scoped it inside
  of a module

- changed the directory layout for all of the BSON related files

- updated the C extension to find the BSON files at their new
  directory locations

- updated the C extension to use better/safer macros for accessing
  the C API; extension now compiles cleanly under rubinius/rbx

- changed directory layout for BSON related tests

- modified the Rakefile to understand the new layout
2010-03-17 14:30:33 -05:00
Kyle Banker 367f9b32cc added indexing options: background, geo, dropDups, etc. 2010-03-16 15:59:26 -04:00
Kyle Banker 9dd1a5c2e3 added authentication support for copy_database 2010-03-16 13:56:30 -04:00
Kyle Banker 2d9e10c192 CBson HashWithIndifferentAccess error 2010-02-27 12:22:34 -05:00
Kyle Banker 3163a340f1 removed deprecated xml_to_ruby 2010-02-23 14:40:38 -05:00
Kyle Banker a7d4d5d277 minor: copy fix 2010-02-23 12:44:50 -05:00
Kyle Banker 5dd2636634 minor: copyright update 2010-02-19 17:41:36 -05:00
Christos Trochalakis 83f2bdf472 Make OrderedHash#to_a preserve order 2010-02-19 11:04:19 -05:00
Kyle Banker fc2ddf3bbd deserialize to RegexpOfHolding only when necessary 2010-02-15 09:47:53 -05:00
Kyle Banker e075d25a91 move id only when necessary RUBY-88 2010-01-28 18:44:50 -05:00
Kyle Banker 329af9e685 minor: OrderedHash hash algorithm fix 2010-01-21 17:35:53 -05:00
Kyle Banker 28227f8ac6 minor: fix for 1.8.6 Complex type checking 2010-01-21 15:42:59 -05:00
Kyle Banker 95d9d6b4f6 Handle unsupported types: Complex, Rational, and BigDecimal RUBY-85 2010-01-21 14:49:20 -05:00
Kyle Banker bf7ffcfa82 support BSON MinKey and MaxKey RUBY-84 2010-01-20 18:50:07 -05:00
Kyle Banker 8c6e0a3591 Raise better error message when trying to serialize TimeWithZone 2010-01-20 12:11:58 -05:00
Durran Jordan 41c680b491 OrderedHash#update should alias to merge bang 2010-01-18 15:29:17 -05:00
Kyle Banker ba2b23476d minor performance improvements 2010-01-14 13:30:38 -05:00
Kyle Banker 74c9862fc9 minor: clean up conversions module 2010-01-08 16:29:06 -05:00
Kyle Banker 5285f9de8f minor: reorganized constants / errors 2010-01-08 15:43:13 -05:00
Kyle Banker 1e183d1f53 deprecated RegexpOfHolding and XMLToRuby 2010-01-07 16:17:34 -05:00
Kyle Banker 42b835243e warn if using Date or DateTime instead of Time 2010-01-06 14:30:58 -05:00
Kyle Banker 2310a878ea doc cleanup and initial move to YARD 2010-01-05 17:42:52 -05:00
Mike Dirolf e013618a8f RUBY-74 raise InvalidDocument for any unrecognized types 2009-12-29 12:59:30 -05:00
Kyle Banker 7bebcd0499 minor: test fixes 2009-12-29 11:31:59 -05:00
Kyle Banker a698415fa5 minor: fixed sort api to allow a single key / direction pair to be specified as an array 2009-12-28 13:43:20 -05:00
Mike Dirolf 9ba194c4b1 minor: fix for 1.9 2009-12-17 12:26:26 -05:00
Mike Dirolf 9e38ef4f8b Merge branch 'master' of github.com:mongodb/mongo-ruby-driver 2009-12-17 12:24:23 -05:00
Kyle Banker 9c68d1c0ab fix for uniq with OrderedHash for Ruby 1.8.6 2009-12-17 12:19:38 -05:00
Mike Dirolf 65c36ca943 null checking for keys and regex patterns, allow nulls for regular strings 2009-12-17 12:17:19 -05:00
Mike Dirolf 9bbaafe03d Just use Regexp#source instead of hacky to_s. Check Regex pattern for NULL bytes 2009-12-17 10:24:58 -05:00
Mike Dirolf 5168692ab9 don't allow NULL byte in key names in ruby encoder 2009-12-17 10:05:38 -05:00