mongo 1.12.0 → 1.12.1

Sign up to get free protection for your applications and to get access to all the features.
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