mongo 1.5.1 → 1.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +11 -6
- data/docs/HISTORY.md +7 -0
- data/lib/mongo.rb +4 -5
- data/lib/mongo/collection.rb +1 -1
- data/lib/mongo/connection.rb +13 -6
- data/lib/mongo/cursor.rb +26 -13
- data/lib/mongo/networking.rb +39 -24
- data/lib/mongo/repl_set_connection.rb +67 -43
- data/lib/mongo/util/node.rb +9 -2
- data/lib/mongo/util/pool.rb +6 -6
- data/lib/mongo/util/pool_manager.rb +29 -12
- data/lib/mongo/version.rb +1 -1
- data/test/connection_test.rb +36 -0
- data/test/replica_sets/basic_test.rb +56 -0
- data/test/replica_sets/connect_test.rb +13 -4
- data/test/replica_sets/pooled_insert_test.rb +58 -0
- data/test/replica_sets/query_test.rb +1 -1
- data/test/unit/pool_manager_test.rb +1 -0
- metadata +123 -130
- data/lib/mongo/util/timeout.rb +0 -42
- data/test/bson/bson_string_test.rb +0 -30
- data/test/pool_test.rb +0 -21
- data/test/replica_sets/threading_test.rb +0 -111
- data/test/timeout_test.rb +0 -14
data/lib/mongo/util/node.rb
CHANGED
@@ -84,7 +84,13 @@ module Mongo
|
|
84
84
|
# matches with the name provided.
|
85
85
|
def set_config
|
86
86
|
begin
|
87
|
-
|
87
|
+
if @connection.connect_timeout
|
88
|
+
Mongo::TimeoutHandler.timeout(@connection.connect_timeout, OperationTimeout) do
|
89
|
+
@config = @connection['admin'].command({:ismaster => 1}, :socket => @socket)
|
90
|
+
end
|
91
|
+
else
|
92
|
+
@config = @connection['admin'].command({:ismaster => 1}, :socket => @socket)
|
93
|
+
end
|
88
94
|
|
89
95
|
if @config['msg'] && @logger
|
90
96
|
@connection.log(:warn, "#{config['msg']}")
|
@@ -92,9 +98,10 @@ module Mongo
|
|
92
98
|
|
93
99
|
check_set_membership(config)
|
94
100
|
check_set_name(config)
|
95
|
-
rescue ConnectionFailure, OperationFailure, SocketError, SystemCallError, IOError => ex
|
101
|
+
rescue ConnectionFailure, OperationFailure, OperationTimeout, SocketError, SystemCallError, IOError => ex
|
96
102
|
@connection.log(:warn, "Attempted connection to node #{host_string} raised " +
|
97
103
|
"#{ex.class}: #{ex.message}")
|
104
|
+
@socket.close unless @socket.closed?
|
98
105
|
return nil
|
99
106
|
end
|
100
107
|
|
data/lib/mongo/util/pool.rb
CHANGED
@@ -236,12 +236,10 @@ module Mongo
|
|
236
236
|
#
|
237
237
|
# Note: this must be called from within a mutex.
|
238
238
|
def prune
|
239
|
-
surplus = @size - @sockets.size
|
240
|
-
return if surplus <= 0
|
241
239
|
idle_sockets = @sockets - @checked_out
|
242
|
-
|
243
|
-
|
244
|
-
@sockets.delete(
|
240
|
+
idle_sockets.each do |socket|
|
241
|
+
socket.close unless socket.closed?
|
242
|
+
@sockets.delete(socket)
|
245
243
|
end
|
246
244
|
end
|
247
245
|
|
@@ -259,7 +257,9 @@ module Mongo
|
|
259
257
|
end
|
260
258
|
|
261
259
|
@connection_mutex.synchronize do
|
262
|
-
|
260
|
+
if @sockets.size > @size * 1.5
|
261
|
+
prune
|
262
|
+
end
|
263
263
|
|
264
264
|
socket = if @checked_out.size < @sockets.size
|
265
265
|
checkout_existing_socket
|
@@ -1,15 +1,22 @@
|
|
1
1
|
module Mongo
|
2
2
|
class PoolManager
|
3
3
|
|
4
|
-
attr_reader :connection, :
|
5
|
-
:
|
4
|
+
attr_reader :connection, :arbiters, :primary, :secondaries, :primary_pool,
|
5
|
+
:read_pool, :secondary_pools, :hosts, :nodes, :max_bson_size,
|
6
6
|
:tags_to_pools, :tag_map, :members
|
7
7
|
|
8
|
-
|
8
|
+
# Create a new set of connection pools.
|
9
|
+
#
|
10
|
+
# The pool manager will by default use the original seed list passed
|
11
|
+
# to the connection objects, accessible via connection.seeds. In addition,
|
12
|
+
# the user may pass an additional list of seeds nodes discovered in real
|
13
|
+
# time. The union of these lists will be used when attempting to connect,
|
14
|
+
# with the newly-discovered nodes being used first.
|
15
|
+
def initialize(connection, seeds=[])
|
9
16
|
@connection = connection
|
17
|
+
@original_seeds = connection.seeds
|
10
18
|
@seeds = seeds
|
11
19
|
@previously_connected = false
|
12
|
-
@refresh_required = false
|
13
20
|
end
|
14
21
|
|
15
22
|
def inspect
|
@@ -17,14 +24,12 @@ module Mongo
|
|
17
24
|
end
|
18
25
|
|
19
26
|
def connect
|
20
|
-
if @previously_connected
|
21
|
-
close
|
22
|
-
end
|
27
|
+
close if @previously_connected
|
23
28
|
|
24
29
|
initialize_data
|
25
30
|
members = connect_to_members
|
26
31
|
initialize_pools(members)
|
27
|
-
|
32
|
+
cache_discovered_seeds(members)
|
28
33
|
set_read_pool
|
29
34
|
set_tag_mappings
|
30
35
|
|
@@ -35,7 +40,7 @@ module Mongo
|
|
35
40
|
# We're healthy if all members are pingable and if the view
|
36
41
|
# of the replica set returned by isMaster is equivalent
|
37
42
|
# to our view. If any of these isn't the case,
|
38
|
-
# set @
|
43
|
+
# set @refresh_required to true, and return.
|
39
44
|
def check_connection_health
|
40
45
|
begin
|
41
46
|
seed = get_valid_seed_node
|
@@ -101,6 +106,12 @@ module Mongo
|
|
101
106
|
end
|
102
107
|
end
|
103
108
|
|
109
|
+
# The set of nodes that this class has discovered and
|
110
|
+
# successfully connected to.
|
111
|
+
def seeds
|
112
|
+
@seeds || []
|
113
|
+
end
|
114
|
+
|
104
115
|
private
|
105
116
|
|
106
117
|
def validate_existing_member(member)
|
@@ -124,6 +135,7 @@ module Mongo
|
|
124
135
|
end
|
125
136
|
|
126
137
|
def initialize_data
|
138
|
+
@seeds = []
|
127
139
|
@primary = nil
|
128
140
|
@primary_pool = nil
|
129
141
|
@read_pool = nil
|
@@ -134,6 +146,7 @@ module Mongo
|
|
134
146
|
@members = Set.new
|
135
147
|
@tags_to_pools = {}
|
136
148
|
@tag_map = {}
|
149
|
+
@refresh_required = false
|
137
150
|
end
|
138
151
|
|
139
152
|
# Connect to each member of the replica set
|
@@ -255,7 +268,7 @@ module Mongo
|
|
255
268
|
#
|
256
269
|
# If we don't get a response, raise an exception.
|
257
270
|
def get_valid_seed_node
|
258
|
-
|
271
|
+
seed_list.each do |seed|
|
259
272
|
node = Mongo::Node.new(self.connection, seed)
|
260
273
|
if !node.connect
|
261
274
|
next
|
@@ -267,10 +280,14 @@ module Mongo
|
|
267
280
|
end
|
268
281
|
|
269
282
|
raise ConnectionFailure, "Cannot connect to a replica set using seeds " +
|
270
|
-
"#{
|
283
|
+
"#{seed_list.map {|s| "#{s[0]}:#{s[1]}" }.join(', ')}"
|
284
|
+
end
|
285
|
+
|
286
|
+
def seed_list
|
287
|
+
@seeds | @original_seeds
|
271
288
|
end
|
272
289
|
|
273
|
-
def
|
290
|
+
def cache_discovered_seeds(members)
|
274
291
|
@seeds = members.map { |n| n.host_port }
|
275
292
|
end
|
276
293
|
|
data/lib/mongo/version.rb
CHANGED
data/test/connection_test.rb
CHANGED
@@ -278,6 +278,42 @@ class TestConnection < Test::Unit::TestCase
|
|
278
278
|
end
|
279
279
|
end
|
280
280
|
|
281
|
+
context "Socket pools" do
|
282
|
+
context "checking out writers" do
|
283
|
+
setup do
|
284
|
+
@con = standard_connection(:pool_size => 10, :timeout => 10)
|
285
|
+
@coll = @con[MONGO_TEST_DB]['test-connection-exceptions']
|
286
|
+
end
|
287
|
+
|
288
|
+
should "close the connection on send_message for major exceptions" do
|
289
|
+
@con.expects(:checkout_writer).raises(SystemStackError)
|
290
|
+
@con.expects(:close)
|
291
|
+
begin
|
292
|
+
@coll.insert({:foo => "bar"})
|
293
|
+
rescue SystemStackError
|
294
|
+
end
|
295
|
+
end
|
296
|
+
|
297
|
+
should "close the connection on send_message_with_safe_check for major exceptions" do
|
298
|
+
@con.expects(:checkout_writer).raises(SystemStackError)
|
299
|
+
@con.expects(:close)
|
300
|
+
begin
|
301
|
+
@coll.insert({:foo => "bar"}, :safe => true)
|
302
|
+
rescue SystemStackError
|
303
|
+
end
|
304
|
+
end
|
305
|
+
|
306
|
+
should "close the connection on receive_message for major exceptions" do
|
307
|
+
@con.expects(:checkout_writer).raises(SystemStackError)
|
308
|
+
@con.expects(:close)
|
309
|
+
begin
|
310
|
+
@coll.find.next
|
311
|
+
rescue SystemStackError
|
312
|
+
end
|
313
|
+
end
|
314
|
+
end
|
315
|
+
end
|
316
|
+
|
281
317
|
context "Connection exceptions" do
|
282
318
|
setup do
|
283
319
|
@con = standard_connection(:pool_size => 10, :timeout => 10)
|
@@ -23,6 +23,14 @@ class BasicTest < Test::Unit::TestCase
|
|
23
23
|
assert @conn.connected?
|
24
24
|
end
|
25
25
|
|
26
|
+
def test_cache_original_seed_nodes
|
27
|
+
@conn = ReplSetConnection.new([self.rs.host, self.rs.ports[1]], [self.rs.host, self.rs.ports[0]],
|
28
|
+
[self.rs.host, self.rs.ports[2]], [self.rs.host, 19356], :name => self.rs.name)
|
29
|
+
assert @conn.connected?
|
30
|
+
assert @conn.seeds.include?([self.rs.host, 19356]), "Original seed nodes not cached!"
|
31
|
+
assert_equal [self.rs.host, 19356], @conn.seeds.last, "Original seed nodes not cached!"
|
32
|
+
end
|
33
|
+
|
26
34
|
def test_accessors
|
27
35
|
seeds = [[self.rs.host, self.rs.ports[0]], [self.rs.host, self.rs.ports[1]],
|
28
36
|
[self.rs.host, self.rs.ports[2]]]
|
@@ -43,4 +51,52 @@ class BasicTest < Test::Unit::TestCase
|
|
43
51
|
assert_equal 90, @conn.refresh_interval
|
44
52
|
assert_equal @conn.refresh_mode, false
|
45
53
|
end
|
54
|
+
|
55
|
+
context "Socket pools" do
|
56
|
+
context "checking out writers" do
|
57
|
+
setup do
|
58
|
+
seeds = [[self.rs.host, self.rs.ports[0]], [self.rs.host, self.rs.ports[1]],
|
59
|
+
[self.rs.host, self.rs.ports[2]]]
|
60
|
+
args = seeds << {:name => self.rs.name}
|
61
|
+
@con = ReplSetConnection.new(*args)
|
62
|
+
@coll = @con[MONGO_TEST_DB]['test-connection-exceptions']
|
63
|
+
end
|
64
|
+
|
65
|
+
should "close the connection on send_message for major exceptions" do
|
66
|
+
@con.expects(:checkout_writer).raises(SystemStackError)
|
67
|
+
@con.expects(:close)
|
68
|
+
begin
|
69
|
+
@coll.insert({:foo => "bar"})
|
70
|
+
rescue SystemStackError
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
should "close the connection on send_message_with_safe_check for major exceptions" do
|
75
|
+
@con.expects(:checkout_writer).raises(SystemStackError)
|
76
|
+
@con.expects(:close)
|
77
|
+
begin
|
78
|
+
@coll.insert({:foo => "bar"}, :safe => true)
|
79
|
+
rescue SystemStackError
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
should "close the connection on receive_message for major exceptions" do
|
84
|
+
@con.expects(:checkout_writer).raises(SystemStackError)
|
85
|
+
@con.expects(:close)
|
86
|
+
begin
|
87
|
+
@coll.find.next
|
88
|
+
rescue SystemStackError
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
should "close the connection on receive_message for major exceptions" do
|
93
|
+
@con.expects(:checkout_reader).raises(SystemStackError)
|
94
|
+
@con.expects(:close)
|
95
|
+
begin
|
96
|
+
@coll.find({}, :read => :secondary).next
|
97
|
+
rescue SystemStackError
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
46
102
|
end
|
@@ -62,13 +62,22 @@ class ConnectTest < Test::Unit::TestCase
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def test_connect_with_primary_stepped_down
|
65
|
-
self.rs.
|
65
|
+
@conn = ReplSetConnection.new([self.rs.host, self.rs.ports[0]], [self.rs.host, self.rs.ports[1]],
|
66
|
+
[self.rs.host, self.rs.ports[2]])
|
67
|
+
@conn[MONGO_TEST_DB]['bar'].save({:a => 1}, {:safe => {:w => 3}})
|
68
|
+
assert @conn[MONGO_TEST_DB]['bar'].find_one
|
69
|
+
|
70
|
+
primary = Mongo::Connection.new(@conn.primary_pool.host, @conn.primary_pool.port)
|
71
|
+
primary['admin'].command({:replSetStepDown => 60})
|
72
|
+
assert @conn.connected?
|
73
|
+
assert_raise_error Mongo::ConnectionFailure, "not master" do
|
74
|
+
@conn[MONGO_TEST_DB]['bar'].find_one
|
75
|
+
end
|
76
|
+
assert !@conn.connected?
|
66
77
|
|
67
78
|
rescue_connection_failure do
|
68
|
-
@conn
|
69
|
-
[self.rs.host, self.rs.ports[2]])
|
79
|
+
@conn[MONGO_TEST_DB]['bar'].find_one
|
70
80
|
end
|
71
|
-
assert @conn.connected?
|
72
81
|
end
|
73
82
|
|
74
83
|
def test_connect_with_connection_string
|
@@ -0,0 +1,58 @@
|
|
1
|
+
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
+
require './test/replica_sets/rs_test_helper'
|
3
|
+
|
4
|
+
# NOTE: This test expects a replica set of three nodes to be running
|
5
|
+
# on the local host.
|
6
|
+
class ReplicaSetPooledInsertTest < Test::Unit::TestCase
|
7
|
+
include ReplicaSetTest
|
8
|
+
|
9
|
+
def setup
|
10
|
+
@conn = ReplSetConnection.new([self.rs.host, self.rs.ports[0]], [self.rs.host, self.rs.ports[1]],
|
11
|
+
[self.rs.host, self.rs.ports[2]], :pool_size => 5, :timeout => 5, :refresh_mode => false)
|
12
|
+
@db = @conn.db(MONGO_TEST_DB)
|
13
|
+
@db.drop_collection("test-sets")
|
14
|
+
@coll = @db.collection("test-sets")
|
15
|
+
end
|
16
|
+
|
17
|
+
def teardown
|
18
|
+
self.rs.restart_killed_nodes
|
19
|
+
@conn.close if @conn
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_insert
|
23
|
+
expected_results = [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
24
|
+
@coll.save({:a => -1}, :safe => true)
|
25
|
+
|
26
|
+
self.rs.kill_primary
|
27
|
+
|
28
|
+
threads = []
|
29
|
+
10.times do |i|
|
30
|
+
threads[i] = Thread.new do
|
31
|
+
rescue_connection_failure do
|
32
|
+
@coll.save({:a => i}, :safe => true)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
threads.each {|t| t.join}
|
38
|
+
|
39
|
+
# Restart the old master and wait for sync
|
40
|
+
self.rs.restart_killed_nodes
|
41
|
+
sleep(1)
|
42
|
+
results = []
|
43
|
+
|
44
|
+
rescue_connection_failure do
|
45
|
+
@coll.find.each {|r| results << r}
|
46
|
+
expected_results.each do |a|
|
47
|
+
assert results.any? {|r| r['a'] == a}, "Could not find record for a => #{a}"
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
@coll.save({:a => 10}, :safe => true)
|
52
|
+
@coll.find.each {|r| results << r}
|
53
|
+
(expected_results + [10]).each do |a|
|
54
|
+
assert results.any? {|r| r['a'] == a}, "Could not find record for a => #{a} on second find"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
@@ -5,7 +5,7 @@ class ReplicaSetQueryTest < Test::Unit::TestCase
|
|
5
5
|
include ReplicaSetTest
|
6
6
|
|
7
7
|
def setup
|
8
|
-
@conn = ReplSetConnection.new([self.rs.host, self.rs.ports[0]
|
8
|
+
@conn = ReplSetConnection.new([self.rs.host, self.rs.ports[0]])
|
9
9
|
@db = @conn.db(MONGO_TEST_DB)
|
10
10
|
@db.drop_collection("test-sets")
|
11
11
|
@coll = @db.collection("test-sets")
|
@@ -13,6 +13,7 @@ class PoolManagerTest < Test::Unit::TestCase
|
|
13
13
|
@connection.stubs(:connect_timeout).returns(5000)
|
14
14
|
@connection.stubs(:pool_size).returns(2)
|
15
15
|
@connection.stubs(:pool_timeout).returns(100)
|
16
|
+
@connection.stubs(:seeds).returns(['localhost:30000'])
|
16
17
|
@connection.stubs(:socket_class).returns(TCPSocket)
|
17
18
|
@connection.stubs(:[]).returns(@db)
|
18
19
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 7
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 1.5.
|
9
|
+
- 2
|
10
|
+
version: 1.5.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jim Menard
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2011-
|
20
|
+
date: 2011-12-13 00:00:00 Z
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
23
23
|
name: bson
|
@@ -27,12 +27,12 @@ dependencies:
|
|
27
27
|
requirements:
|
28
28
|
- - "="
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
hash:
|
30
|
+
hash: 7
|
31
31
|
segments:
|
32
32
|
- 1
|
33
33
|
- 5
|
34
|
-
-
|
35
|
-
version: 1.5.
|
34
|
+
- 2
|
35
|
+
version: 1.5.2
|
36
36
|
type: :runtime
|
37
37
|
version_requirements: *id001
|
38
38
|
description: A Ruby driver for MongoDB. For more information about Mongo, see http://www.mongodb.org.
|
@@ -50,104 +50,100 @@ files:
|
|
50
50
|
- LICENSE.txt
|
51
51
|
- lib/mongo.rb
|
52
52
|
- lib/mongo/collection.rb
|
53
|
-
- lib/mongo/
|
54
|
-
- lib/mongo/cursor.rb
|
55
|
-
- lib/mongo/db.rb
|
56
|
-
- lib/mongo/exceptions.rb
|
53
|
+
- lib/mongo/networking.rb
|
57
54
|
- lib/mongo/gridfs/grid.rb
|
58
55
|
- lib/mongo/gridfs/grid_ext.rb
|
59
56
|
- lib/mongo/gridfs/grid_file_system.rb
|
60
57
|
- lib/mongo/gridfs/grid_io.rb
|
61
58
|
- lib/mongo/gridfs/grid_io_fix.rb
|
62
|
-
- lib/mongo/
|
63
|
-
- lib/mongo/
|
59
|
+
- lib/mongo/version.rb
|
60
|
+
- lib/mongo/util/pool_manager.rb
|
64
61
|
- lib/mongo/util/conversions.rb
|
65
62
|
- lib/mongo/util/core_ext.rb
|
66
|
-
- lib/mongo/util/
|
67
|
-
- lib/mongo/util/node.rb
|
63
|
+
- lib/mongo/util/ssl_socket.rb
|
68
64
|
- lib/mongo/util/pool.rb
|
69
|
-
- lib/mongo/util/
|
65
|
+
- lib/mongo/util/node.rb
|
66
|
+
- lib/mongo/util/uri_parser.rb
|
70
67
|
- lib/mongo/util/server_version.rb
|
71
|
-
- lib/mongo/util/ssl_socket.rb
|
72
68
|
- lib/mongo/util/support.rb
|
73
|
-
- lib/mongo/util/
|
74
|
-
- lib/mongo/
|
75
|
-
- lib/mongo/
|
69
|
+
- lib/mongo/util/logging.rb
|
70
|
+
- lib/mongo/connection.rb
|
71
|
+
- lib/mongo/exceptions.rb
|
72
|
+
- lib/mongo/repl_set_connection.rb
|
73
|
+
- lib/mongo/db.rb
|
74
|
+
- lib/mongo/cursor.rb
|
76
75
|
- docs/CREDITS.md
|
77
|
-
- docs/
|
76
|
+
- docs/WRITE_CONCERN.md
|
77
|
+
- docs/RELEASES.md
|
78
78
|
- docs/GridFS.md
|
79
79
|
- docs/HISTORY.md
|
80
|
-
- docs/
|
81
|
-
- docs/
|
80
|
+
- docs/FAQ.md
|
81
|
+
- docs/TUTORIAL.md
|
82
82
|
- docs/REPLICA_SETS.md
|
83
|
+
- docs/READ_PREFERENCE.md
|
83
84
|
- docs/TAILABLE_CURSORS.md
|
84
|
-
- docs/TUTORIAL.md
|
85
|
-
- docs/WRITE_CONCERN.md
|
86
85
|
- bin/mongo_console
|
87
|
-
- test/
|
88
|
-
- test/
|
86
|
+
- test/tools/repl_set_manager.rb
|
87
|
+
- test/tools/auth_repl_set_manager.rb
|
88
|
+
- test/uri_test.rb
|
89
|
+
- test/conversions_test.rb
|
90
|
+
- test/grid_io_test.rb
|
91
|
+
- test/cursor_fail_test.rb
|
92
|
+
- test/unit/cursor_test.rb
|
93
|
+
- test/unit/pool_test.rb
|
94
|
+
- test/unit/pool_manager_test.rb
|
95
|
+
- test/unit/collection_test.rb
|
96
|
+
- test/unit/node_test.rb
|
97
|
+
- test/unit/db_test.rb
|
98
|
+
- test/unit/connection_test.rb
|
99
|
+
- test/unit/read_test.rb
|
100
|
+
- test/unit/safe_test.rb
|
101
|
+
- test/unit/grid_test.rb
|
102
|
+
- test/support_test.rb
|
103
|
+
- test/cursor_test.rb
|
104
|
+
- test/support/keys.rb
|
105
|
+
- test/support/hash_with_indifferent_access.rb
|
106
|
+
- test/test_helper.rb
|
107
|
+
- test/threading_test.rb
|
108
|
+
- test/auxillary/repl_set_auth_test.rb
|
89
109
|
- test/auxillary/autoreconnect_test.rb
|
110
|
+
- test/auxillary/threaded_authentication_test.rb
|
111
|
+
- test/auxillary/authentication_test.rb
|
112
|
+
- test/auxillary/1.4_features.rb
|
90
113
|
- test/auxillary/fork_test.rb
|
91
|
-
- test/auxillary/repl_set_auth_test.rb
|
92
114
|
- test/auxillary/slave_connection_test.rb
|
93
|
-
- test/
|
115
|
+
- test/threading/threading_with_large_pool_test.rb
|
116
|
+
- test/replica_sets/pooled_insert_test.rb
|
117
|
+
- test/replica_sets/insert_test.rb
|
118
|
+
- test/replica_sets/read_preference_test.rb
|
119
|
+
- test/replica_sets/connect_test.rb
|
120
|
+
- test/replica_sets/basic_test.rb
|
121
|
+
- test/replica_sets/count_test.rb
|
122
|
+
- test/replica_sets/refresh_test.rb
|
123
|
+
- test/replica_sets/replication_ack_test.rb
|
124
|
+
- test/replica_sets/query_test.rb
|
125
|
+
- test/replica_sets/refresh_with_threads_test.rb
|
126
|
+
- test/replica_sets/rs_test_helper.rb
|
127
|
+
- test/collection_test.rb
|
128
|
+
- test/cursor_message_test.rb
|
94
129
|
- test/bson/binary_test.rb
|
95
|
-
- test/bson/bson_string_test.rb
|
96
|
-
- test/bson/bson_test.rb
|
97
|
-
- test/bson/byte_buffer_test.rb
|
98
|
-
- test/bson/hash_with_indifferent_access_test.rb
|
99
130
|
- test/bson/json_test.rb
|
100
|
-
- test/bson/
|
131
|
+
- test/bson/byte_buffer_test.rb
|
101
132
|
- test/bson/ordered_hash_test.rb
|
133
|
+
- test/bson/object_id_test.rb
|
102
134
|
- test/bson/test_helper.rb
|
135
|
+
- test/bson/bson_test.rb
|
103
136
|
- test/bson/timestamp_test.rb
|
104
|
-
- test/
|
137
|
+
- test/bson/hash_with_indifferent_access_test.rb
|
138
|
+
- test/load/unicorn/load.rb
|
139
|
+
- test/load/thin/load.rb
|
140
|
+
- test/db_test.rb
|
105
141
|
- test/connection_test.rb
|
106
|
-
- test/conversions_test.rb
|
107
|
-
- test/cursor_fail_test.rb
|
108
|
-
- test/cursor_message_test.rb
|
109
|
-
- test/cursor_test.rb
|
110
142
|
- test/db_api_test.rb
|
111
|
-
- test/db_connection_test.rb
|
112
|
-
- test/db_test.rb
|
113
143
|
- test/grid_file_system_test.rb
|
114
|
-
- test/grid_io_test.rb
|
115
|
-
- test/grid_test.rb
|
116
|
-
- test/load/thin/load.rb
|
117
|
-
- test/load/unicorn/load.rb
|
118
|
-
- test/pool_test.rb
|
119
|
-
- test/replica_sets/basic_test.rb
|
120
|
-
- test/replica_sets/connect_test.rb
|
121
|
-
- test/replica_sets/count_test.rb
|
122
|
-
- test/replica_sets/insert_test.rb
|
123
|
-
- test/replica_sets/query_test.rb
|
124
|
-
- test/replica_sets/read_preference_test.rb
|
125
|
-
- test/replica_sets/refresh_test.rb
|
126
|
-
- test/replica_sets/refresh_with_threads_test.rb
|
127
|
-
- test/replica_sets/replication_ack_test.rb
|
128
|
-
- test/replica_sets/rs_test_helper.rb
|
129
|
-
- test/replica_sets/threading_test.rb
|
130
144
|
- test/safe_test.rb
|
131
|
-
- test/
|
132
|
-
- test/
|
133
|
-
- test/support_test.rb
|
134
|
-
- test/test_helper.rb
|
135
|
-
- test/threading/threading_with_large_pool_test.rb
|
136
|
-
- test/threading_test.rb
|
137
|
-
- test/timeout_test.rb
|
138
|
-
- test/tools/auth_repl_set_manager.rb
|
139
|
-
- test/tools/repl_set_manager.rb
|
140
|
-
- test/unit/collection_test.rb
|
141
|
-
- test/unit/connection_test.rb
|
142
|
-
- test/unit/cursor_test.rb
|
143
|
-
- test/unit/db_test.rb
|
144
|
-
- test/unit/grid_test.rb
|
145
|
-
- test/unit/node_test.rb
|
146
|
-
- test/unit/pool_manager_test.rb
|
147
|
-
- test/unit/pool_test.rb
|
148
|
-
- test/unit/read_test.rb
|
149
|
-
- test/unit/safe_test.rb
|
150
|
-
- test/uri_test.rb
|
145
|
+
- test/db_connection_test.rb
|
146
|
+
- test/grid_test.rb
|
151
147
|
homepage: http://www.mongodb.org
|
152
148
|
licenses: []
|
153
149
|
|
@@ -179,72 +175,69 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
179
175
|
requirements: []
|
180
176
|
|
181
177
|
rubyforge_project:
|
182
|
-
rubygems_version: 1.8.
|
178
|
+
rubygems_version: 1.8.10
|
183
179
|
signing_key:
|
184
180
|
specification_version: 3
|
185
181
|
summary: Ruby driver for the MongoDB
|
186
182
|
test_files:
|
187
|
-
- test/
|
188
|
-
- test/
|
183
|
+
- test/tools/repl_set_manager.rb
|
184
|
+
- test/tools/auth_repl_set_manager.rb
|
185
|
+
- test/uri_test.rb
|
186
|
+
- test/conversions_test.rb
|
187
|
+
- test/grid_io_test.rb
|
188
|
+
- test/cursor_fail_test.rb
|
189
|
+
- test/unit/cursor_test.rb
|
190
|
+
- test/unit/pool_test.rb
|
191
|
+
- test/unit/pool_manager_test.rb
|
192
|
+
- test/unit/collection_test.rb
|
193
|
+
- test/unit/node_test.rb
|
194
|
+
- test/unit/db_test.rb
|
195
|
+
- test/unit/connection_test.rb
|
196
|
+
- test/unit/read_test.rb
|
197
|
+
- test/unit/safe_test.rb
|
198
|
+
- test/unit/grid_test.rb
|
199
|
+
- test/support_test.rb
|
200
|
+
- test/cursor_test.rb
|
201
|
+
- test/support/keys.rb
|
202
|
+
- test/support/hash_with_indifferent_access.rb
|
203
|
+
- test/test_helper.rb
|
204
|
+
- test/threading_test.rb
|
205
|
+
- test/auxillary/repl_set_auth_test.rb
|
189
206
|
- test/auxillary/autoreconnect_test.rb
|
207
|
+
- test/auxillary/threaded_authentication_test.rb
|
208
|
+
- test/auxillary/authentication_test.rb
|
209
|
+
- test/auxillary/1.4_features.rb
|
190
210
|
- test/auxillary/fork_test.rb
|
191
|
-
- test/auxillary/repl_set_auth_test.rb
|
192
211
|
- test/auxillary/slave_connection_test.rb
|
193
|
-
- test/
|
212
|
+
- test/threading/threading_with_large_pool_test.rb
|
213
|
+
- test/replica_sets/pooled_insert_test.rb
|
214
|
+
- test/replica_sets/insert_test.rb
|
215
|
+
- test/replica_sets/read_preference_test.rb
|
216
|
+
- test/replica_sets/connect_test.rb
|
217
|
+
- test/replica_sets/basic_test.rb
|
218
|
+
- test/replica_sets/count_test.rb
|
219
|
+
- test/replica_sets/refresh_test.rb
|
220
|
+
- test/replica_sets/replication_ack_test.rb
|
221
|
+
- test/replica_sets/query_test.rb
|
222
|
+
- test/replica_sets/refresh_with_threads_test.rb
|
223
|
+
- test/replica_sets/rs_test_helper.rb
|
224
|
+
- test/collection_test.rb
|
225
|
+
- test/cursor_message_test.rb
|
194
226
|
- test/bson/binary_test.rb
|
195
|
-
- test/bson/bson_string_test.rb
|
196
|
-
- test/bson/bson_test.rb
|
197
|
-
- test/bson/byte_buffer_test.rb
|
198
|
-
- test/bson/hash_with_indifferent_access_test.rb
|
199
227
|
- test/bson/json_test.rb
|
200
|
-
- test/bson/
|
228
|
+
- test/bson/byte_buffer_test.rb
|
201
229
|
- test/bson/ordered_hash_test.rb
|
230
|
+
- test/bson/object_id_test.rb
|
202
231
|
- test/bson/test_helper.rb
|
232
|
+
- test/bson/bson_test.rb
|
203
233
|
- test/bson/timestamp_test.rb
|
204
|
-
- test/
|
234
|
+
- test/bson/hash_with_indifferent_access_test.rb
|
235
|
+
- test/load/unicorn/load.rb
|
236
|
+
- test/load/thin/load.rb
|
237
|
+
- test/db_test.rb
|
205
238
|
- test/connection_test.rb
|
206
|
-
- test/conversions_test.rb
|
207
|
-
- test/cursor_fail_test.rb
|
208
|
-
- test/cursor_message_test.rb
|
209
|
-
- test/cursor_test.rb
|
210
239
|
- test/db_api_test.rb
|
211
|
-
- test/db_connection_test.rb
|
212
|
-
- test/db_test.rb
|
213
240
|
- test/grid_file_system_test.rb
|
214
|
-
- test/grid_io_test.rb
|
215
|
-
- test/grid_test.rb
|
216
|
-
- test/load/thin/load.rb
|
217
|
-
- test/load/unicorn/load.rb
|
218
|
-
- test/pool_test.rb
|
219
|
-
- test/replica_sets/basic_test.rb
|
220
|
-
- test/replica_sets/connect_test.rb
|
221
|
-
- test/replica_sets/count_test.rb
|
222
|
-
- test/replica_sets/insert_test.rb
|
223
|
-
- test/replica_sets/query_test.rb
|
224
|
-
- test/replica_sets/read_preference_test.rb
|
225
|
-
- test/replica_sets/refresh_test.rb
|
226
|
-
- test/replica_sets/refresh_with_threads_test.rb
|
227
|
-
- test/replica_sets/replication_ack_test.rb
|
228
|
-
- test/replica_sets/rs_test_helper.rb
|
229
|
-
- test/replica_sets/threading_test.rb
|
230
241
|
- test/safe_test.rb
|
231
|
-
- test/
|
232
|
-
- test/
|
233
|
-
- test/support_test.rb
|
234
|
-
- test/test_helper.rb
|
235
|
-
- test/threading/threading_with_large_pool_test.rb
|
236
|
-
- test/threading_test.rb
|
237
|
-
- test/timeout_test.rb
|
238
|
-
- test/tools/auth_repl_set_manager.rb
|
239
|
-
- test/tools/repl_set_manager.rb
|
240
|
-
- test/unit/collection_test.rb
|
241
|
-
- test/unit/connection_test.rb
|
242
|
-
- test/unit/cursor_test.rb
|
243
|
-
- test/unit/db_test.rb
|
244
|
-
- test/unit/grid_test.rb
|
245
|
-
- test/unit/node_test.rb
|
246
|
-
- test/unit/pool_manager_test.rb
|
247
|
-
- test/unit/pool_test.rb
|
248
|
-
- test/unit/read_test.rb
|
249
|
-
- test/unit/safe_test.rb
|
250
|
-
- test/uri_test.rb
|
242
|
+
- test/db_connection_test.rb
|
243
|
+
- test/grid_test.rb
|