-
Type: Task
-
Resolution: Done
-
Affects Version/s: None
-
Component/s: None
-
None
I report some problems on moped options I experienced.
1. Can't change moped options on mongoid.yml
moped takes some options for retrying.
https://github.com/mongoid/moped/blob/master/lib/moped/cluster.rb#L105-L108
However there is no way to change those default value from mongoid.yml. I tried a config like this:
development: sessions: default: database: mongd_test hosts: - localhost:27017 options: safe: true max_retries: 2 retry_interval: 0.5
mongoid sends those options (max_retries and retry_interval) but keys of hash object are string despite moped expects symbol.
https://github.com/mongoid/moped/blob/master/lib/moped/cluster.rb#L57
2. Default value for max_retries and retry_interval
Default value of max_retries is 30 (times) and retry_interval is 1 (second). I think that it is way too many as a default value. It means that you have to wait for 30 seconds until moped throw an exception when mongodb is down. If you use mongoid on web application, all requests would be queued up during the time. That would make the situation worse.
This is very useful feature since mongodb resets connection when replicaset configuration is changed. However I suggest to set max_retries=1 and retry_interval=0.1 as their default values.
3. Documentation
It will be nice if those values are described at:
http://mongoid.org/en/mongoid/docs/installation.html#configuration
What do you think? I am happy to write patches and submit pull-requests for 1 and 2 if you want.
Thanks!