Commit Graph

924 Commits

Author SHA1 Message Date
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
Kyle Banker
cb54c6b295 minor: fix for format change is result for 1.9.1 'validate' command. 2011-05-09 14:43:39 -04:00
Kyle Banker
0051b9446a RUBY-260 methods using DB#collection_names should account for symbols. 2011-05-09 12:28:07 -04:00
Kyle Banker
74faed3f38 Merge pull request #41 from rmm5t/refactor_gets
Fix and refactoring for GridIO#gets.
2011-05-09 08:12:40 -07:00
Ryan McGeary
7f384ebd51 Refactored two code paths of GridIO#gets into well-named methods 2011-05-03 11:54:18 -04:00
Ryan McGeary
c672168236 Fixed GridIO#gets to handle the end of a file
Neither a multi-character nor single-character separator search returned nil
after hitting the EOF.
2011-05-03 11:36:33 -04:00
Steve Randy Tantra
3a3a31a3dc get_md5 should return @server_md5 when putting file in safe mode. 2011-05-02 01:55:54 +08:00
Kyle Banker
ba1e4679fa Leave hash arguments unmodified. 2011-04-27 11:10:48 -04:00
Kyle Banker
8887402ca8 Don't modify hash arguments. 2011-04-26 07:48:17 -04:00
Kyle Banker
9cc6bad613 Simplify GridIO#read_all 2011-04-26 07:48:16 -04:00
Kyle Banker
140dfa9f32 minor: fixes 2011-04-26 07:48:16 -04:00
Kyle Banker
9c30de332f minor: test fix 2011-04-15 10:58:37 -04:00
Kyle Banker
6b9eef0d1f RUBY-240 minor fix for RUBY 1.8 2011-03-29 16:01:46 -04:00
Kyle Banker
002ddb06fc RUBY-240 Add StringIO methods to GridIO 2011-03-29 15:27:13 -04:00
Kyle Banker
3509926071 Remove Connection#reset_connection (private) and deprecate
ReplSetConnection#reset_connection (public)
2011-03-29 12:18:58 -04:00
Kyle Banker
a6cc09e50c RUBY-236 more timeout tweaks and tests 2011-03-29 11:46:29 -04:00
Kyle Banker
f3174550b7 RUBY-236 Create timeout block only when timeout is set 2011-03-29 11:06:46 -04:00
Kyle Banker
025e56732e minor: test and doc fixes 2011-03-29 10:39:01 -04:00