Commit Graph

273 Commits

Author SHA1 Message Date
Seamus Abshere 1454210d9f Use ENV["MONGODB_URI"] if available. 2012-06-04 13:24:30 -04:00
Tyler Brock a3555ba404 minor: logger fix for mocha tests that expect an non-hash argument 2012-06-01 15:16:05 -04:00
Tyler Brock c76160c2f2 Merge pull request #97 from asinbow/fix_log_debug_level_detect
fix log debug level detect
2012-06-01 11:38:37 -07:00
Tyler Brock 65a1ecc42d RUBY-441
Remove connect_nonblock from tcp_socket implementation to reduce
problems due to inconsistent implementation in JRuby and Windows.

Connection timeouts are now reverted to using the timeout module for all
platforms.
2012-06-01 12:25:42 -04:00
Tyler Brock 9b38c3a70f minor: JRUBY hacks 2012-05-15 16:52:59 -04:00
Tyler Brock 2de3dcab94 RUBY-442
Using sysread so Ruby 1.8.x won't complain about nonblocking IO#read
2012-05-15 16:52:58 -04:00
Tyler Brock 6663660d92 RUBY-442
Use read instead of readpartial.
Rescue ETIMEDOUT and raise appropriate ConnectionError
2012-05-14 16:03:08 -04:00
asinbow.wang 56968e8ad3 fix log debug level detect
* reason
  there hardcodes DEBUG_LEVEL in logging.rb:
    DEBUG_LEVEL = defined?(Logger) ? Logger::DEBUG : 0
  this could cause some incompatibility between different logger tools

  for Logger, DEBUG/0 < INFO/1 < WARN/2 < ERROR/3 < FATAL/4,
  for Log4r,  ALL/0 < DETAIL/1 < DEBUG/2 < INFO/3 < WARN/4 < ERROR/5 < FATAL/6.

  anyway, it is not in good pattern.

* suggestion
  logger.debug { ... }
  if current level is greater than DEBUG, the block will not be
  evaluated. it is also efficient.

  following is also supported by most loggers.
  logger.info { ... }
  logger.warn { ... }
  logger.error { ... }
  ...
2012-04-27 15:26:49 +08:00
Tyler Brock 00cea59c10 minor: refactor TCP_NODELAY 2012-04-08 10:48:25 -04:00
Tyler Brock 0bd7d3830d RUBY-429 wrap IO errors from select and read 2012-04-05 12:47:17 -04:00
Tyler Brock 4f9aceacf4 RUBY-433 fixes IOError stream closed 2012-04-05 10:52:13 -04:00
Tyler Brock a5b5d5e3e3 RUBY-429 tweaks to rescued errors 2012-04-04 20:45:29 -04:00
Tyler Brock 58f0ee8fff RUBY-429 rescue granularity 2012-04-04 20:12:36 -04:00
Tyler Brock d42eee278b minor: testing fixes, cleaning output 2012-04-04 16:44:01 -04:00
Tyler Brock 7337a06311 RUBY-429 rescue additional socket and IO errors 2012-04-04 15:10:58 -04:00
Tyler Brock 76bf4dffe5 RUBY-429 rescue and raise appropriate errors 2012-04-04 13:51:04 -04:00
Tyler Brock 01f28b47ff RUBY-429 non-blocking IO for socket timeouts
Should greatly improve performance for highly threaded applications
using connection and operation timeouts.
2012-04-03 16:06:37 -04:00
Tyler Brock aab3cf7b74 minor: cleanup thread_to_socket pruning code and test 2012-04-03 16:06:37 -04:00
Tyler Brock 6944794fb2 RUBY-422 Cleanup testing output 2012-03-16 16:17:33 -04:00
Tyler Brock 5fde3de4a6 RUBY-417 only show logging warning if level is :debug 2012-03-07 14:15:10 -05:00
Tyler Brock 0ae757c69b RUBY-416 unit test stub fix 2012-03-07 12:38:04 -05:00
Tyler Brock 06bc50fe46 RUBY-416 do not checkout closed sockets 2012-03-07 12:00:10 -05:00
Tyler Brock 274ce690e7 RUBY-416 threading with refresh test fixes 2012-03-05 14:40:05 -05:00
Tyler Brock bf9bb83b6d minor: whitespace fixes 2012-03-02 19:25:17 -05:00
Tyler Brock 93b2f3da9b minor: Added TCPSocket Class w/ pool accessor
Sockets now know what pool they were checked out from
SSLSocket updated as well
2012-03-02 19:16:14 -05:00
Kyle Banker 29cc4b20e2 RUBY-416 thread affinity for Mongo::Pool 2012-02-27 16:16:09 -05:00
Tyler Brock 038cbea739 Revert "Solves: "gems/mongo-1.6.0/lib/mongo/util/logging.rb:34:in `instrument': undefined method `level' for #<Mongoid::Logger:0x00000103ca7570> (NoMethodError)""
This reverts commit 775ed49e6c.

a logger should quack like a logger
2012-02-23 11:53:18 -05:00
Armin Pašalić 775ed49e6c Solves: "gems/mongo-1.6.0/lib/mongo/util/logging.rb:34:in `instrument': undefined method `level' for #<Mongoid::Logger:0x00000103ca7570> (NoMethodError)" 2012-02-22 21:26:59 +01:00
Tyler Brock b70c9ce152 RUBY-406 enhancements to :secondary_only read preference
Improved implementation
-- read_preference :secondary_only is now communicated via invocation
of ReplSetConnection#checkout_secondary

Better tests
-- ensures reads go to secondaries
-- ensures reads do not go to primaries
2012-02-18 16:51:57 -05:00
Kyle Banker b79d408a11 Enable log duration by default for :debug-level logging. 2012-02-16 14:01:09 -05:00
Tyler Brock a4e49d86ac Merge branch 'master' of github.com:mongodb/mongo-ruby-driver 2012-02-16 13:03:08 -05:00
Tyler Brock 542b8f46da RUBY-406 added ReplSetConnection read preference :secondary_only 2012-02-16 12:59:52 -05:00
Cyril Mougel 84c8e7cae2 add log_duration system to add time spend in database 2012-02-03 18:02:14 +01:00
Tyler Brock fb77743f60 RUBY-392 fix to support ruby < 1.9 (1.9 is needed to support named capture groups in regular expressions) 2012-01-30 16:55:47 -05:00
Tyler Brock a193c055ab RUBY-404 make uri option paramaters case insensitive, test included 2012-01-30 12:06:20 -05:00
Tyler Brock 6ae5dbd37c minor: removed redundant code from uri_parser configure connect method 2012-01-29 19:38:41 -05:00
Tyler Brock b31d51ba7a minor: updates to uri parser for MS granularity 2012-01-26 16:52:25 -05:00
Tyler Brock 07375ce024 RUBY-403 added test and fix for refresh health check attempting to close socket that may be nil 2012-01-25 18:45:31 -05:00
Tyler Brock 309315e31e RUBY-399 removed re-initialization of seeds in initialize_data 2012-01-24 21:26:25 -05:00
Kyle Banker f56846b444 Merge pull request #84 from TylerBrock/392-uriparser-spec
RUBY-392 Update URIParser for consistency with Mongo URI spec.
2012-01-20 11:23:25 -08:00
Kyle Banker 15dce65e5a RUBY-398 skip seed node if neither primary nor secondary 2012-01-20 13:31:04 -05:00
Tyler Brock 4a35bf1ccb formatting fix 2012-01-17 19:37:15 -05:00
Tyler Brock 9a39987737 depricated wtimeout in favor of wtimeoutMS 2012-01-17 19:35:46 -05:00
Tyler Brock 1124918502 added journal, connectTimeoutMS and socketTimeoutMS to URI options 2012-01-17 18:45:09 -05:00
Tyler Brock b3b50f7273 changes 2012-01-04 13:03:44 -05: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
Kyle Banker c308f9b025 RUBY-386 set 30 second connect timeout. Fail if ismaster fails. 2011-12-13 14:51:39 -05: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