thrift_client 0.6.3 → 0.7.0

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/CHANGELOG CHANGED
@@ -1,3 +1,5 @@
1
+ v0.7.0 Updated thrift gem dependency to 0.7.0
2
+
1
3
  v0.6.3 Document the :connect_timeout option.
2
4
  Add support for specifying client-side timeouts when using FramedTransport
3
5
  set transport timeout after connection is established
data/Rakefile CHANGED
@@ -7,7 +7,7 @@ Echoe.new("thrift_client") do |p|
7
7
  p.project = "fauna"
8
8
  p.summary = "A Thrift client wrapper that encapsulates some common failover behavior."
9
9
  p.rubygems_version = ">= 0.8"
10
- p.dependencies = ['thrift ~>0.6.0']
10
+ p.dependencies = ['thrift ~>0.7.0']
11
11
  p.ignore_pattern = /^(vendor\/thrift)/
12
12
  p.rdoc_pattern = /^(lib|bin|tasks|ext)|^README|^CHANGELOG|^TODO|^LICENSE|^COPYING$/
13
13
  p.spec_pattern = "spec/*_spec.rb"
@@ -33,6 +33,7 @@ class AbstractThriftClient
33
33
  :raise => true,
34
34
  :defaults => {},
35
35
  :exception_classes => DISCONNECT_ERRORS,
36
+ :exception_class_overrides => [],
36
37
  :retries => 0,
37
38
  :server_retry_period => 1,
38
39
  :server_max_requests => nil,
@@ -128,6 +129,8 @@ class AbstractThriftClient
128
129
  end
129
130
  @request_count += 1
130
131
  @client.send(method_name, *args)
132
+ rescue *@options[:exception_class_overrides] => e
133
+ raise_or_default(e, method_name)
131
134
  rescue *@options[:exception_classes] => e
132
135
  disconnect_on_error!
133
136
  tries ||= (@options[:retry_overrides][method_name.to_sym] || @options[:retries]) + 1
data/lib/thrift_client.rb CHANGED
@@ -16,6 +16,7 @@ Valid optional parameters are:
16
16
  <tt>:transport</tt>:: Which Thrift transport to use. Defaults to <tt>Thrift::Socket</tt>.
17
17
  <tt>:transport_wrapper</tt>:: Which Thrift transport wrapper to use. Defaults to <tt>Thrift::FramedTransport</tt>.
18
18
  <tt>:exception_classes</tt>:: Which exceptions to catch and retry when sending a request. Defaults to <tt>[IOError, Thrift::Exception, Thrift::ApplicationException, Thrift::TransportException, NoServersAvailable]</tt>
19
+ <tt>:exception_class_overrides</tt>:: For specifying children of classes in exception_classes for which you don't want to retry or reconnect.
19
20
  <tt>:raise</tt>:: Whether to reraise errors if no responsive servers are found. Defaults to <tt>true</tt>.
20
21
  <tt>:retries</tt>:: How many times to retry a request. Defaults to 0.
21
22
  <tt>:server_retry_period</tt>:: How many seconds to wait before trying to reconnect to a dead server. Defaults to <tt>1</tt>. Set to <tt>nil</tt> to disable.
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{thrift_client}
5
- s.version = "0.6.3"
5
+ s.version = "0.7.0"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0.8") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = [%q{Evan Weaver, Ryan King, Jeff Hodges}]
9
- s.date = %q{2011-06-30}
9
+ s.date = %q{2011-08-22}
10
10
  s.description = %q{A Thrift client wrapper that encapsulates some common failover behavior.}
11
11
  s.email = %q{}
12
12
  s.extra_rdoc_files = [%q{CHANGELOG}, %q{LICENSE}, %q{README.rdoc}, %q{lib/thrift_client.rb}, %q{lib/thrift_client/abstract_thrift_client.rb}, %q{lib/thrift_client/connection.rb}, %q{lib/thrift_client/connection/base.rb}, %q{lib/thrift_client/connection/factory.rb}, %q{lib/thrift_client/connection/http.rb}, %q{lib/thrift_client/connection/socket.rb}, %q{lib/thrift_client/event_machine.rb}, %q{lib/thrift_client/simple.rb}, %q{lib/thrift_client/thrift.rb}]
@@ -23,11 +23,11 @@ Gem::Specification.new do |s|
23
23
  s.specification_version = 3
24
24
 
25
25
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
26
- s.add_runtime_dependency(%q<thrift>, ["~> 0.6.0"])
26
+ s.add_runtime_dependency(%q<thrift>, ["~> 0.7.0"])
27
27
  else
28
- s.add_dependency(%q<thrift>, ["~> 0.6.0"])
28
+ s.add_dependency(%q<thrift>, ["~> 0.7.0"])
29
29
  end
30
30
  else
31
- s.add_dependency(%q<thrift>, ["~> 0.6.0"])
31
+ s.add_dependency(%q<thrift>, ["~> 0.7.0"])
32
32
  end
33
33
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thrift_client
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
4
+ hash: 3
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 6
9
- - 3
10
- version: 0.6.3
8
+ - 7
9
+ - 0
10
+ version: 0.7.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Evan Weaver, Ryan King, Jeff Hodges
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-06-30 00:00:00 Z
18
+ date: 2011-08-22 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: thrift
@@ -25,12 +25,12 @@ dependencies:
25
25
  requirements:
26
26
  - - ~>
27
27
  - !ruby/object:Gem::Version
28
- hash: 7
28
+ hash: 3
29
29
  segments:
30
30
  - 0
31
- - 6
31
+ - 7
32
32
  - 0
33
- version: 0.6.0
33
+ version: 0.7.0
34
34
  type: :runtime
35
35
  version_requirements: *id001
36
36
  description: A Thrift client wrapper that encapsulates some common failover behavior.