Commit Graph

968 Commits

Author SHA1 Message Date
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 0b33a48dd9 minor: clear accessors for defined methods 2011-11-03 11:21:00 -04:00
Kyle Banker 5b349e7175 Remove debug info. 2011-11-03 11:19:26 -04:00
Kyle Banker 68627cef3d Replica Set test harness refactoring. 2011-11-03 11:17:36 -04:00
Kyle Banker 3e7c28e1ef Add networking module. 2011-11-02 18:01:48 -04:00
Kyle Banker a5373ddb83 Initial decoupling of Connection, ReplSetConnection,
and networking code.
2011-11-02 18:00:52 -04:00
Kyle Banker 3655a94934 Stop using 'sync' library. Don't trust it. Too complex. 2011-11-02 17:33:34 -04:00
Kyle Banker 1f068ce127 Cleanup for proxying to PoolManager. 2011-11-02 15:41:59 -04:00
Kyle Banker f98c1099dc Ensure we pass pool timeout to pool. 2011-11-02 15:21:46 -04:00
Kyle Banker d171f75bb0 Don't copy manager data. 2011-11-02 15:16:40 -04:00
Kyle Banker 14593954fa RUBY-352 Ensure commands are sent to primary. 2011-10-26 10:28:06 -04:00
Kyle Banker 9b6589e033 Auto-refresh will be disabled by default. 2011-10-26 10:26:50 -04:00
Kyle Banker 045a556e99 minor: test fix 2011-10-17 15:09:54 -05:00
Kyle Banker ddb56a537f BUMP 1.4.1 2011-10-17 14:55:21 -05: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 b3c3206eeb minor: formatting 2011-10-14 09:53:23 -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
slloyd 92a2e86d9a Allow logging from Collection using Connection logger 2011-10-11 10:25:24 -07:00
Kyle Banker f5f714a1a1 Added some basic, sanity-checking tests. 2011-10-07 13:55:09 -04:00
Kyle Banker 118cb18c33 Removed a completely unnecessary mutex. 2011-10-07 12:13:18 -04:00
Kyle Banker 09c8a3838c Fixed major bug where :refresh_mode == :async 2011-10-06 14:50:51 -04:00
Kyle Banker 8525f4ceac Fixed major bug where :refresh_mode == :sync 2011-10-06 14:26:39 -04:00
Kyle Banker 018da9049c minor: test fix 2011-09-26 17:48:17 -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 4d41092aaa BUMP 1.4.0 2011-09-19 12:05:10 -04:00
Kyle Banker ec97cd6d53 RUBY-331 fix sort on Collection#map_reduce 2011-09-19 11:46:15 -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 a370f3abed minor: ReplSetConnection#connected? will be eventaully consistent. 2011-09-13 10:44:27 -04:00
Kyle Banker 701bba8942 RUBY-306 added missing file 2011-09-11 12:08:26 -04:00
Kyle Banker e678bac75e RUBY-306 clean up logging. 2011-09-07 17:14:53 -04:00
Kyle Banker 75941ad2a3 minor: Cursor cleanup 2011-09-07 10:17:24 -04:00
Kyle Banker 1c439df278 RUBY-312 Enable exhaust-mode queries. 2011-09-07 10:02:10 -04:00
Kyle Banker 75ff1aa633 minor: doc fixes 2011-09-06 16:36:45 -04:00
Kyle Banker 7ac19f1bfa minor: Cursor#next over Cursor#next_document 2011-09-06 16:23:55 -04:00
Kyle Banker d44eb01da6 RUBY-304 minor: doc fix 2011-09-06 15:28:12 -04:00
Kyle Banker 50c38c6c6b RUBY-284 document :read API 2011-09-06 14:58:03 -04:00
Kyle Banker 5d83ab2460 RUBY-313 minor: deprecation warning should include removal version. 2011-09-06 14:30:00 -04:00
Kyle Banker 046038e18d RUBY-297 when possible, include error codes and
return objects in exception classes.
2011-09-06 14:22:50 -04:00
Kyle Banker 1e951d6734 RUBY-316 2011-09-06 11:40:25 -04:00
Kyle Banker 834b0db0af RUBY-307 Collection#count should take a query, skip, and limit. 2011-09-06 11:38:19 -04:00
Kyle Banker b0b1c043ca Pool manager unit test. 2011-09-02 17:26:43 -04:00
Nandor Kracser 1b595316c6 use BSON::ObjectId rather than Mongo::ObjectId for return values in doc 2011-09-01 21:33:23 +02: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 7769f4d44d minor: test fix 2011-08-31 11:46:33 -04:00
Kyle Banker 3c31dc6acd Disabled auto-refresh by default. 2011-08-30 16:17:05 -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 45c40e7267 RUBY-320 RUBY-284 initial cascading read API. Mapping sockets to pools. 2011-08-29 17:49:58 -04:00
Kyle Banker a6ea525e3d RUBY-319 support continue_on_error insert flag 2011-08-29 12:04:01 -04:00
Kyle Banker 8c241cded7 RUBY-317 2011-08-29 11:22:55 -04:00
Kyle Banker f00c0dfcf0 RUBY-316 initial SSL support 2011-08-26 17:35:40 -04:00
Kyle Banker 8db62d2cbf RUBY-311 ensure that ReplSetConnection connects to replica set members only. 2011-08-26 12:40:13 -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 d999a5ba4d RUBY-315 deprecate BSON.max_bson_size and BSON.update_max_bson_size. 2011-08-25 15:03:40 -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 3027e29f46 Simpify replica set connection code. 2011-08-16 16:47:07 -04:00
Karl Seguin 2557a575eb added node class 2011-08-12 16:40:09 -04:00
Kyle Banker d552d603a8 RUBY-279 update to Java driver 2.6.5 2011-08-10 14:14:52 -04:00
Kyle Banker 82b103752e RUBY-289 ensure that negative limit is logged 2011-08-08 18:31:30 -04:00
Kyle Banker a9b975eaaa RUBY-304 add Collection#capped? 2011-08-08 17:52:44 -04:00
Kyle Banker b32f895ed6 RUBY-288 ensure we cannot modify with add_option or remove_option after iteration starts. 2011-08-05 18:22:09 -04:00
Kyle Banker 1142c33910 RUBY-288 Cursor#remove_option 2011-08-05 18:15:48 -04:00
Kyle Banker 96b39313bf RUBY-267 Cursor#alive? 2011-08-05 17:54:38 -04:00
Kyle Banker eecb1d35de Revert "RUBY-167 Cursor#alive?"
This reverts commit 91308cdc60.
Wrong JIRA Issue
2011-08-05 17:52:44 -04:00
Kyle Banker 91308cdc60 RUBY-167 Cursor#alive? 2011-08-05 17:51:37 -04:00
Kyle Banker eca6653bc2 RUBY-281 make BSON::OrderedHash#inspect more precise. 2011-08-05 17:43:39 -04:00
Kyle Banker 28f0f7af3e RUBY-292 OrderedHash should hash with same value as Hash. 2011-08-05 17:27:44 -04:00
Kyle Banker 237dc98fbf RUBY-283 add_option for cursors. Deprecate Cursor#query_opts. 2011-08-05 11:52:45 -04:00
Kyle Banker e1463cdce2 Merge pull request #47 from karlseguin/master
Fix minor bug bug in batch_size when limit isn't set.
2011-07-11 06:45:44 -07:00
Bernerd Schaefer ee198c7643 ObjectId#generate uses java.bson.types.ObjectId
Delegating ObjectId#generate when running under jruby to the java BSON
library halves the time needed to generate a new object id.
2011-06-29 14:49:53 +02:00
Bernerd Schaefer 5572663d40 Cache hostname digest at load time
This brings pure-ruby BSON::ObjectId performance more in line with that
of the cbson extension.
2011-06-29 12:31:10 +02:00
Kyle Banker 20d916bf98 RUBY-287 2011-06-20 23:13:32 -04:00
Karl Seguin 7783cebfdf batch_size is taken into account when limit is 0/not set 2011-06-16 22:21:40 +08:00
Kyle Banker fbf7b754ac RUBY-287 OrderedHash#replace 2011-06-15 16:25:20 -04:00
Kyle Banker 3a602e1227 minor: Deprecate :timeout for :pool_timeout 2011-06-15 16:17:42 -04:00
Kyle Banker b0d5df72fa RUBY-269 RUBY-275 added connect_timeout option 2011-06-15 14:20:11 -04:00
Kyle Banker fe423d05d6 Turns out that SystemTimer is not threadsafe. 2011-06-15 11:40:25 -04:00
Kyle Banker 13a53f2554 minor: removed unnecessary reference to @slave_okay 2011-06-15 11:31:10 -04:00
Karl Seguin 50a54cdcc0 can drop an index using the same type of spec used to create an index 2011-05-31 19:52:50 +08:00
Kyle Banker 6992c6bb89 Pass show_disk_loc, max_key, and return_key from Collection#find 2011-05-25 13:33:33 -07:00
Kyle Banker d8d929c647 Merge pull request #45 from datanoise/master
Fixes map_reduce call
2011-05-25 13:27:10 -07:00
Kyle Banker 408fbc1b72 Merge pull request #44 from pto/master
Allow drop_dups on ensure_index as well as on create_index
2011-05-25 13:26:50 -07:00
Kent Sibilev 03afd82000 deleting :raw option, otherwise map_reduce fails on the server 2011-05-22 21:17:08 -04:00
Peter Olsen 088b158ece dropDups on ensure_index and remove docs on unimplemented find options 2011-05-19 19:14:38 +00:00
Michael Jackson ad6edb0a9e Moved Mongo::VERSION to its own file
You shouldn't need to require mongo.rb just to generate the gemspec.
2011-05-17 11:24:21 -07:00