elastictastic 0.10.3 → 0.10.4

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.
@@ -53,10 +53,23 @@ module Elastictastic
53
53
  class ExconAdapter < Adapter
54
54
 
55
55
  def request(method, path, body = nil)
56
- response = connection.request(
57
- :body => body, :method => method, :path => path
58
- )
59
- Response.new(response.status, response.headers, response.body)
56
+ retried = false
57
+ begin
58
+ response = connection.request(
59
+ :body => body, :method => method, :path => path
60
+ )
61
+ Response.new(response.status, response.headers, response.body)
62
+ rescue Excon::Errors::SocketError => e
63
+ case e.socket_error
64
+ when Errno::EPIPE, Errno::ECONNRESET
65
+ if !retried
66
+ connection.reset
67
+ retried = true
68
+ retry
69
+ end
70
+ end
71
+ raise
72
+ end
60
73
  rescue Excon::Errors::Error => e
61
74
  connection.reset
62
75
  raise ConnectionFailed, e
@@ -1,3 +1,3 @@
1
1
  module Elastictastic
2
- VERSION = '0.10.3'
2
+ VERSION = '0.10.4'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elastictastic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.3
4
+ version: 0.10.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-09-04 00:00:00.000000000 Z
14
+ date: 2012-09-07 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activesupport