Commit Graph

941 Commits

Author SHA1 Message Date
Kyle Banker e4570c133d RUBY-356 clarify docs on continue_on_error 2012-01-06 14:53:23 -05:00
Andrew Kane ebfab91f53 Fixed scoping issue that causes connection to hang w/ :connect_timeout option 2012-01-06 00:37:56 -08:00
VvanGemert c70b1d1b30 Added support for keeping a limited amount of documents in GridFS and removed the delete_old option.
The delete_old removed all the old files while having a versioning system you might want to keep a limited set of files. This small little patch does that. You can specify a number of versions to keep by using the new versions option.
2012-01-05 16:27:05 +01:00
Tyler Brock b3b50f7273 changes 2012-01-04 13:03:44 -05:00
John Ewart 52ed0b70f0 Merge branch 'master' of https://github.com/mongodb/mongo-ruby-driver into fix_db_out_option 2011-12-29 00:09:24 -08:00
Markus Schirp af441efb7c Remove noop assignment 2011-12-28 01:15:11 +01:00
Ryunosuke SATO 217da825a6 remove unused error class 'ConfigurationError' 2011-12-27 20:04:44 +09:00
Tyler Brock d79ca1f994 small change to regex 2011-12-20 16:02:17 -05:00
Tyler Brock 899241eefe more readability changes to uri_parser regex 2011-12-20 15:56:00 -05:00
Tyler Brock 1d22c75811 made MONGODB_URI_MATCHER regular expression in uri_parser.rb easier to interpret by breaking it into parts 2011-12-20 11:31:39 -05:00
Jorge Bejar 6b8ab02ec8 Fix issue RUBY-391
Fix a problem with the exception raised when trying to insert
in a replicaset when primary is not available.

The ssue is reported here: https://jira.mongodb.org/browse/RUBY-391
2011-12-16 13:44:21 -02:00
John Ewart 28796ac7de Support :db key for :out in map_reduce
References RUBY-389
2011-12-14 17:49:08 -08:00
Kyle Banker 931270f962 BUMP 1.5.2 (revised) 2011-12-13 15:40:21 -05:00
Kyle Banker 26090dbbdd Merge pull request #74 from EqualMedia/master
Pass cursor payload to instrumentation even if there's no logger.
2011-12-13 12:14:39 -08:00
Kyle Banker 840535aa61 Merge pull request #71 from hrushikesh/5f86eba0a04af29c4f33ded97b519bc78ca90265
RUBY-380 Support geoHaystack index type.
2011-12-13 12:07:16 -08:00
Kyle Banker 8fd89eb2a4 RUBY-386 extend ismaster timeout to Connection 2011-12-13 15:03:00 -05:00
Kyle Banker c308f9b025 RUBY-386 set 30 second connect timeout. Fail if ismaster fails. 2011-12-13 14:51:39 -05:00
Ben Symonds 4ae41edfe4 send the instrument payload even if no logger, for benefit of anyone hooking into `instrument` method. also matches behaviour of insert, update, remove methods 2011-12-13 18:39:23 +00:00
Kyle Banker 4ed709ff7f RUBY-386 ensure that replica set connection doesn't hang when
connecting to unreponsive node. set default op timeout to 30 seconds.
2011-12-12 17:45:00 -05:00
Kyle Banker a7139fd5ed RUBY-375 2011-12-06 16:41:51 -05:00
Kyle Banker 06b682ec7c RUBY-383 do a sync_refresh before checking out a socket 2011-12-06 14:38:56 -05:00
Kyle Banker b6ff77fcbc RUBY-379 RUBY-381 reconnect on 'not master' errors (fix close connection logic) 2011-12-05 15:25:37 -05:00
Kyle Banker c25b1f1585 RUBY-376 separate original seeds nodes from discovered ones 2011-12-05 12:27:19 -05:00
Hrushikesh 5f86eba0a0 add geoHaystack index support 2011-12-03 13:41:53 -08:00
Kyle Banker 29f3772053 RUBY-376 use new seed nodes first 2011-12-02 17:42:18 -05:00
Kyle Banker b579a6347f RUBY-376 always cache original seed nodes 2011-12-02 17:20:04 -05:00
Kyle Banker 03303b8409 RUBY-374 Close connection on SystemStackError, NoMemoryError, and SystemCallError 2011-12-02 15:37:05 -05:00
Kyle Banker d3c9637268 RUBY-377 ensure that @manager is never nil 2011-12-01 12:01:13 -05:00
Kyle Banker 74e6a60c25 BUMP 1.5.1 2011-11-29 15:54:08 -05:00
Kyle Banker c931499a97 BUMP 1.5.0 2011-11-28 14:10:28 -05:00
Kyle Banker 8bd94b0ac2 RUBY-370: allow :j option 2011-11-28 13:33:42 -05:00
Kyle Banker 2e48229a3b Merge pull request #64 from songbird/songbird-collection-logging
Allow logging from Collection using Connection logger.
2011-11-28 10:19:10 -08:00
Kyle Banker 11a722b96a BUMP 1.5.0.rc0 2011-11-18 17:15:03 -05:00
Kyle Banker cf69bf4c2e RUBY-367 deprecate async refresh 2011-11-18 16:13:19 -05:00
Kyle Banker fa10508f07 Remove thread-local map and socket map (complexity creep). 2011-11-18 15:47:06 -05:00
Kyle Banker 5dbe563d14 RUBY-364 2011-11-16 13:40:55 -05:00
Kyle Banker e61f867e65 Connection#end_request 2011-11-16 13:06:56 -05:00
Kyle Banker fe58da0e3c minor: fix prune interval 2011-11-16 12:19:45 -05:00
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 9aae390eec RUBY-334 minor: move refresh logging to debug level 2011-11-15 16:26:41 -05:00
Kyle Banker 1146e5692a RUBY-341 fix :max_scan and :show_disk_loc 2011-11-15 16:24:21 -05:00
Kyle Banker 6345820eae RUBY-345 update logging startup message 2011-11-15 15:59:42 -05:00
Kyle Banker 93f228aaf1 RUBY-351 Build GridFS indexes when a primary is present. 2011-11-15 15:44:31 -05:00
Kyle Banker 540a58fed6 Don't use Thread#kill 2011-11-07 13:59:52 -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 83ac53202e minor: fix failing tests 2011-11-04 15:12:58 -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 01d1231373 Added thread-local sockets to ReplSetConnection 2011-11-03 18:48:01 -04:00
Kyle Banker 54433502f5 minor: cleanup 2011-11-03 18:41:25 -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 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 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 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 237dc98fbf RUBY-283 add_option for cursors. Deprecate Cursor#query_opts. 2011-08-05 11:52:45 -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 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 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
Daniël van de Burgt 6e66b11f6e fix: reading chunks from an empty (zero-length) grid-stored file
reading chunks from an empty file caused an endless loop
2011-05-10 22:58:50 -05:00
Kyle Banker b8ab13e7f9 Revert "RUBY-267 Cursor#alive?"
This reverts commit 05dfef2f11.
This adds new functionality and thus must wait for the 1.4 release.
2011-05-10 15:58:23 -04:00
Kyle Banker 05dfef2f11 RUBY-267 Cursor#alive? 2011-05-10 15:45:32 -04:00
Kyle Banker 9a80fbaa66 RUBY-266 support maxscan, showDiskLoc, and returnKey 2011-05-10 15:40:06 -04:00
Kyle Banker 505bc68aab minor: RUBY-257 note log_message is a no-op on Connection#receive_message. 2011-05-10 14:35:51 -04:00
Kyle Banker f7e1feaeba minor: make DB#validate_collection compatible with server v1.8 and v1.9.1 2011-05-10 14:28:04 -04:00
Kyle Banker 604d0f60ed RUBY-261 Cursor#close hits secondary when appropriate. 2011-05-10 14:21:23 -04:00