mongo 1.12.0 → 1.12.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e82004eeddfd0de07041111726b21f08a990f84e
4
- data.tar.gz: 16b8958b0d294edb39e0852ff97e42c3cf40f2ed
3
+ metadata.gz: 5d0c197b4c58515863de8821a6775eabb7529f87
4
+ data.tar.gz: 9957802eb4be1f554122d18b6ecdf5694b0dfada
5
5
  SHA512:
6
- metadata.gz: 1a53b39b1b53f4bf37035384c02fb166edfe140c2a7e2f3f8f443170d459f0a79f65bd3860588eb49316f471ed00dcfd020129af2790fa652bc4e91dc0ad43a2
7
- data.tar.gz: fa01e2fe2f3363fe5bc7e2f13d1ec06d1b09f4d818f3a9939d877492af1cfa68b9fae9026746c4851d93aa3df619a84eb834b8ee4877812e843a3d43b00b461e
6
+ metadata.gz: 4e61898c7dd1343ca322b2fea3cb6c0ac5c6d42eab2ac97a8c3ccf266bf3ad7907aaa2fbb5f0c9a22e67de7b96e8485bb01984a1c2386c5382a0d404dfec345d
7
+ data.tar.gz: afd71df4bcfa2609d82445b8df6eaa28ba2fabc29b276f925657d85d7aad304cf6251c7e9ffc953162c82d611e4d87aae3993c17b83fc39a5f97b4c5a7559c92
@@ -1 +1 @@
1
- qsbF�#L9���㷮F��#�a�כ�6^�>70Wj��w� &��A���W��KZh�N�#���(ȓ�}�
1
+ t奤N�.LQ�����X��(�uV����mB5�����Y)��%����>i0���}U���ՔI���<ru��K(=a�t��F��t�������1�HD>��6�����$�jt>�A�������WՓ�,�C�����P'��^��i�����0��}��������)b�n"FYs�&f'a�2�����$�KG�b���P���?5.���o� �r�[�S�ZF*A0Q���
data.tar.gz.sig CHANGED
Binary file
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.12.0
1
+ 1.12.1
@@ -79,6 +79,7 @@ require 'bson'
79
79
 
80
80
  require 'set'
81
81
  require 'thread'
82
+ require 'monitor'
82
83
 
83
84
  require 'mongo/utils'
84
85
  require 'mongo/exception'
@@ -24,7 +24,7 @@ module Mongo
24
24
  @address = "#{@host}:#{@port}"
25
25
  @config = nil
26
26
  @socket = nil
27
- @node_mutex = Mutex.new
27
+ @node_mutex = Monitor.new
28
28
  end
29
29
 
30
30
  def eql?(other)
@@ -88,7 +88,7 @@ module Mongo
88
88
 
89
89
  def active?
90
90
  begin
91
- result = @client['admin'].command({:ping => 1}, :socket => @socket)
91
+ result = @client['admin'].command({:ping => 1}, :socket => usable_socket)
92
92
  rescue OperationFailure, SocketError, SystemCallError, IOError
93
93
  return nil
94
94
  end
@@ -107,10 +107,10 @@ module Mongo
107
107
 
108
108
  if @client.connect_timeout
109
109
  Timeout::timeout(@client.connect_timeout, OperationTimeout) do
110
- @config = @client['admin'].command({:ismaster => 1}, :socket => @socket)
110
+ @config = @client['admin'].command({:ismaster => 1}, :socket => usable_socket)
111
111
  end
112
112
  else
113
- @config = @client['admin'].command({:ismaster => 1}, :socket => @socket)
113
+ @config = @client['admin'].command({:ismaster => 1}, :socket => usable_socket)
114
114
  end
115
115
 
116
116
  update_max_sizes
@@ -228,6 +228,16 @@ module Mongo
228
228
 
229
229
  private
230
230
 
231
+ def usable_socket
232
+ if @socket && @socket.pid != Process.pid
233
+ @socket.close
234
+ @socket = nil
235
+ connect
236
+ else
237
+ @socket
238
+ end
239
+ end
240
+
231
241
  def update_max_sizes
232
242
  @max_bson_size = config['maxBsonObjectSize'] || DEFAULT_MAX_BSON_SIZE
233
243
  @max_message_size = config['maxMessageSizeBytes'] || @max_bson_size * MESSAGE_SIZE_FACTOR
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  require 'base64'
16
+ require 'securerandom'
16
17
  require 'openssl'
17
18
  require 'digest/md5'
18
19
 
@@ -164,6 +164,7 @@ class Test::Unit::TestCase
164
164
  socket.stubs(:closed?)
165
165
  socket.stubs(:checkin)
166
166
  socket.stubs(:pool)
167
+ socket.stubs(:pid)
167
168
  socket
168
169
  end
169
170
 
@@ -110,6 +110,15 @@ class ReplicaSetBasicTest < Test::Unit::TestCase
110
110
  end
111
111
  end
112
112
 
113
+ def test_sockets_used_by_forked_process
114
+ @client = MongoReplicaSetClient.from_uri(@uri)
115
+ primary_node = @client.manager.primary_pool.node
116
+ primary_socket = primary_node.socket
117
+ primary_socket.instance_variable_set(:@pid, primary_socket.pid + 1)
118
+ primary_node.set_config
119
+ assert primary_socket != primary_node.socket
120
+ end
121
+
113
122
  context "Socket pools" do
114
123
  context "checking out writers" do
115
124
  setup do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.0
4
+ version: 1.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emily Stolfo
@@ -16,7 +16,7 @@ cert_chain:
16
16
  -----BEGIN CERTIFICATE-----
17
17
  MIIDfDCCAmSgAwIBAgIBATANBgkqhkiG9w0BAQUFADBCMRQwEgYDVQQDDAtkcml2
18
18
  ZXItcnVieTEVMBMGCgmSJomT8ixkARkWBTEwZ2VuMRMwEQYKCZImiZPyLGQBGRYD
19
- Y29tMB4XDTE0MDIxOTE1MTEyNloXDTE1MDIxOTE1MTEyNlowQjEUMBIGA1UEAwwL
19
+ Y29tMB4XDTE1MDMzMTA5NDIzNVoXDTE2MDMzMDA5NDIzNVowQjEUMBIGA1UEAwwL
20
20
  ZHJpdmVyLXJ1YnkxFTATBgoJkiaJk/IsZAEZFgUxMGdlbjETMBEGCgmSJomT8ixk
21
21
  ARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANFdSAa8fRm1
22
22
  bAM9za6Z0fAH4g02bqM1NGnw8zJQrE/PFrFfY6IFCT2AsLfOwr1maVm7iU1+kdVI
@@ -27,14 +27,14 @@ cert_chain:
27
27
  u8KAcPHm5KkCAwEAAaN9MHswCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0O
28
28
  BBYEFFt3WbF+9JpUjAoj62cQBgNb8HzXMCAGA1UdEQQZMBeBFWRyaXZlci1ydWJ5
29
29
  QDEwZ2VuLmNvbTAgBgNVHRIEGTAXgRVkcml2ZXItcnVieUAxMGdlbi5jb20wDQYJ
30
- KoZIhvcNAQEFBQADggEBALGvdxHF+CnH6QO4PeIce3S8EHuHsYiGLk4sWgNGZkjD
31
- V3C4XjlI8rQZxalwQwcauacOGj9x94flWUXruEF7+rjUtig7OIrQK2+uVg86vl8r
32
- xy1n2s1d31KsuazEVExe5o19tnVbI9+30P9qPkS+NgaellXpj5c5qnJUGn5BJtzo
33
- 3D001zXpVnuZvCcE/A4fQ+BEM0zm0oOmA/gWIAFrufOL9oYg1881dRZ+kQytF/9c
34
- JrZM8w8wGbIOeLtoQqa7HB/jOYbTahH7KMNh2LHAbOR93hNIJxVRa4iwxiMQ75tN
35
- 9WUIAJ4AEtjwRg1Bz0OwDo3aucPCBpx77+/FWhv7JYY=
30
+ KoZIhvcNAQEFBQADggEBAH+jEbhVRjZke7ZgM3EjERSblLM8RtHZBczjQKuG0Eor
31
+ HUF/hyq7D+mz75Ch7K8m5NRwvppePbBV4lAF+DzuDGjh+V6cz4wNKaWWFIL8eNCY
32
+ F+0vDVtGok06CXnb2swHEtd1Z8zpQviJ3xpSGAvF88+glzvPQmCyA071kPUAmDvd
33
+ 5og5x3Bv8IxaxmEpFndXhT3NHL/tOBeT9VJuJWMCxOXRCv4y9bBBTrxoRVuos59Z
34
+ XZOS48LlWh15EG4yZo/gRzqNAW2LUIkYA5eMS2Kp6r+KV8IBUO/LaHdrXbdilpa8
35
+ BRsuCo7UZDbFVRns04HLyjVvkj+K/ywIcdKdS0csz5M=
36
36
  -----END CERTIFICATE-----
37
- date: 2015-01-29 00:00:00.000000000 Z
37
+ date: 2015-03-31 00:00:00.000000000 Z
38
38
  dependencies:
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: bson
@@ -42,14 +42,14 @@ dependencies:
42
42
  requirements:
43
43
  - - '='
44
44
  - !ruby/object:Gem::Version
45
- version: 1.12.0
45
+ version: 1.12.1
46
46
  type: :runtime
47
47
  prerelease: false
48
48
  version_requirements: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - '='
51
51
  - !ruby/object:Gem::Version
52
- version: 1.12.0
52
+ version: 1.12.1
53
53
  description: A Ruby driver for MongoDB. For more information about Mongo, see http://www.mongodb.org.
54
54
  email: mongodb-dev@googlegroups.com
55
55
  executables:
@@ -187,7 +187,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
187
187
  version: '0'
188
188
  requirements: []
189
189
  rubyforge_project: mongo
190
- rubygems_version: 2.2.2
190
+ rubygems_version: 2.4.5
191
191
  signing_key:
192
192
  specification_version: 4
193
193
  summary: Ruby driver for MongoDB
metadata.gz.sig CHANGED
Binary file