memcached 0.19.3 → 0.19.5

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig CHANGED
Binary file
data/CHANGELOG CHANGED
@@ -1,3 +1,6 @@
1
+
2
+ v0.19.5. Fix autoconf datestamps.
3
+
1
4
  v0.19.3. Add exception_retry_limit and exceptions_to_retry.
2
5
 
3
6
  v0.19.2. Regenerate SWIG with better configuration options for Linux.
@@ -16,7 +16,9 @@ if ENV['DEBUG']
16
16
  $EXTRA_CONF = ""
17
17
  end
18
18
 
19
- if !ENV["EXTERNAL_LIB"]
19
+ def check_libmemcached
20
+ return if ENV["EXTERNAL_LIB"]
21
+
20
22
  $includes = " -I#{HERE}/include"
21
23
  $defines = " -DLIBMEMCACHED_WITH_SASL_SUPPORT"
22
24
  $libraries = " -L#{HERE}/lib"
@@ -29,6 +31,12 @@ if !ENV["EXTERNAL_LIB"]
29
31
  if File.exist?("lib")
30
32
  puts "Libmemcached already built; run 'rake clean' first if you need to rebuild."
31
33
  else
34
+
35
+ # have_sasl check may fail on OSX, skip it
36
+ # unless RUBY_PLATFORM =~ /darwin/ or have_library('sasl2')
37
+ # raise "SASL2 not found. You need the libsasl2-dev library, which should be provided through your system's package manager."
38
+ # end
39
+
32
40
  puts "Building libmemcached."
33
41
  puts(cmd = "tar xzf #{BUNDLE} 2>&1")
34
42
  raise "'#{cmd}' failed" unless system(cmd)
@@ -41,13 +49,17 @@ if !ENV["EXTERNAL_LIB"]
41
49
  puts(cmd = "patch -p1 -Z < sasl.patch")
42
50
  raise "'#{cmd}' failed" unless system(cmd)
43
51
 
44
- Dir.chdir(BUNDLE_PATH) do
52
+ puts "Touching aclocal.m4 in libmemcached."
53
+ puts(cmd = "touch -r #{BUNDLE_PATH}/m4/visibility.m4 #{BUNDLE_PATH}/configure.ac #{BUNDLE_PATH}/m4/pandora_have_sasl.m4")
54
+ raise "'#{cmd}' failed" unless system(cmd)
55
+
56
+ Dir.chdir(BUNDLE_PATH) do
45
57
  puts(cmd = "env CFLAGS='-fPIC #{$CFLAGS}' LDFLAGS='-fPIC #{$LDFLAGS}' ./configure --prefix=#{HERE} --without-memcached --disable-shared --disable-utils --disable-dependency-tracking #{$EXTRA_CONF} 2>&1")
46
58
  raise "'#{cmd}' failed" unless system(cmd)
47
59
 
48
60
  puts(cmd = "make CXXFLAGS='#{$CXXFLAGS}' || true 2>&1")
49
61
  raise "'#{cmd}' failed" unless system(cmd)
50
-
62
+
51
63
  puts(cmd = "make install || true 2>&1")
52
64
  raise "'#{cmd}' failed" unless system(cmd)
53
65
  end
@@ -55,11 +67,11 @@ if !ENV["EXTERNAL_LIB"]
55
67
  system("rm -rf #{BUNDLE_PATH}") unless ENV['DEBUG'] or ENV['DEV']
56
68
  end
57
69
  end
58
-
70
+
59
71
  # Absolutely prevent the linker from picking up any other libmemcached
60
72
  Dir.chdir("#{HERE}/lib") do
61
- system("cp -f libmemcached.a libmemcached_gem.a")
62
- system("cp -f libmemcached.la libmemcached_gem.la")
73
+ system("cp -f libmemcached.a libmemcached_gem.a")
74
+ system("cp -f libmemcached.la libmemcached_gem.la")
63
75
  end
64
76
  $LIBS << " -lmemcached_gem -lsasl2"
65
77
  end
@@ -72,4 +84,6 @@ if ENV['SWIG']
72
84
  raise "'#{cmd}' failed" unless system(cmd)
73
85
  end
74
86
 
87
+ check_libmemcached
88
+
75
89
  create_makefile 'rlibmemcached'
@@ -74,12 +74,14 @@ Valid option parameters are:
74
74
  <tt>:server_failure_limit</tt>:: How many consecutive failures to allow before marking a host as dead. Has no effect unless <tt>:retry_timeout</tt> is also set.
75
75
  <tt>:retry_timeout</tt>:: How long to wait until retrying a dead server. Has no effect unless <tt>:server_failure_limit</tt> is non-zero. Defaults to <tt>30</tt>.
76
76
  <tt>:auto_eject_hosts</tt>:: Whether to temporarily eject dead hosts from the pool. Defaults to <tt>true</tt>. Note that in the event of an ejection, <tt>:auto_eject_hosts</tt> will remap the entire pool unless <tt>:distribution</tt> is set to <tt>:consistent</tt>.
77
+ <tt>:exception_retry_limit</tt>:: How many times to retry before raising exceptions in <tt>:exceptions_to_retry</tt>. Defaults to <tt>5</tt>.
78
+ <tt>:exceptions_to_retry</tt>:: Which exceptions to retry. Defaults to <b>ServerIsMarkedDead</b>, <b>ATimeoutOccurred</b>, <b>ConnectionBindFailure</b>, <b>ConnectionFailure</b>, <b>ConnectionSocketCreateFailure</b>, <b>Failure</b>, <b>MemoryAllocationFailure</b>, <b>ReadFailure</b>, <b>ServerError</b>, <b>SystemError</b>, <b>UnknownReadFailure</b>, and <b>WriteFailure</b>.
77
79
  <tt>:cache_lookups</tt>:: Whether to cache hostname lookups for the life of the instance. Defaults to <tt>true</tt>.
78
- <tt>:support_cas</tt>:: Flag CAS support in the client. Accepts <tt>true</tt> or <tt>false</tt>. Defaults to <tt>false</tt> because it imposes a slight performance penalty. Note that your server must also support CAS or you will trigger <b>Memcached::ProtocolError</b> exceptions.
80
+ <tt>:support_cas</tt>:: Flag CAS support in the client. Accepts <tt>true</tt> or <tt>false</tt>. Defaults to <tt>false</tt> because it imposes a slight performance penalty. Note that your server must also support CAS or you will trigger <b>ProtocolError</b> exceptions.
79
81
  <tt>:tcp_nodelay</tt>:: Turns on the no-delay feature for connecting sockets. Accepts <tt>true</tt> or <tt>false</tt>. Performance may or may not change, depending on your system.
80
82
  <tt>:no_block</tt>:: Whether to use pipelining for writes. Accepts <tt>true</tt> or <tt>false</tt>.
81
83
  <tt>:buffer_requests</tt>:: Whether to use an internal write buffer. Accepts <tt>true</tt> or <tt>false</tt>. Calling <tt>get</tt> or closing the connection will force the buffer to flush. Note that <tt>:buffer_requests</tt> might not work well without <tt>:no_block</tt> also enabled.
82
- <tt>:show_backtraces</tt>:: Whether <b>Memcached::NotFound</b> and <b>Memcached::NotStored</b> exceptions should include backtraces. Generating backtraces is slow, so this is off by default. Turn it on to ease debugging.
84
+ <tt>:show_backtraces</tt>:: Whether <b>NotFound</b> and <b>NotStored</b> exceptions should include backtraces. Generating backtraces is slow, so this is off by default. Turn it on to ease debugging.
83
85
  <tt>:connect_timeout</tt>:: How long to wait for a connection to a server. Defaults to 2 seconds. Set to <tt>0</tt> if you want to wait forever.
84
86
  <tt>:timeout</tt>:: How long to wait for a response from the server. Defaults to 0.25 seconds. Set to <tt>0</tt> if you want to wait forever.
85
87
  <tt>:default_ttl</tt>:: The <tt>ttl</tt> to use on set if no <tt>ttl</tt> is specified, in seconds. Defaults to one week. Set to <tt>0</tt> if you want things to never expire.
@@ -89,10 +91,8 @@ Valid option parameters are:
89
91
  <tt>:binary_protocol</tt>:: Use the binary protocol to reduce query processing overhead. Defaults to false.
90
92
  <tt>:sort_hosts</tt>:: Whether to force the server list to stay sorted. This defeats consistent hashing and is rarely useful.
91
93
  <tt>:verify_key</tt>:: Validate keys before accepting them. Never disable this.
92
- <tt>:exception_retry_limit</tt>:: Retry this many times before raising the exception if the exception is in <tt>:exceptions_to_retry</tt>.
93
- <tt>:exceptions_to_retry</tt>:: Exceptions listed here will be retried <tt>:exception_retry_limit</tt> times before getting raised.
94
94
 
95
- Please note that when pipelining is enabled, setter and deleter methods do not raise on errors. For example, if you try to set an invalid key with <tt>:no_block => true</tt>, it will appear to succeed. The actual setting of the key occurs after libmemcached has returned control to your program, so there is no way to backtrack and raise the exception.
95
+ Please note that when <tt>:no_block => true</tt>, update methods do not raise on errors. For example, if you try to <tt>set</tt> an invalid key, it will appear to succeed. The actual setting of the key occurs after libmemcached has returned control to your program, so there is no way to backtrack and raise the exception.
96
96
 
97
97
  =end
98
98
 
@@ -2,12 +2,12 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{memcached}
5
- s.version = "0.19.3"
5
+ s.version = "0.19.5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Evan Weaver"]
9
9
  s.cert_chain = ["/Users/eweaver/p/configuration/gem_certificates/evan_weaver-original-public_cert.pem"]
10
- s.date = %q{2010-04-20}
10
+ s.date = %q{2010-05-20}
11
11
  s.description = %q{An interface to the libmemcached C client.}
12
12
  s.email = %q{}
13
13
  s.extensions = ["ext/extconf.rb"]
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 19
8
- - 3
9
- version: 0.19.3
8
+ - 5
9
+ version: 0.19.5
10
10
  platform: ruby
11
11
  authors:
12
12
  - Evan Weaver
@@ -35,7 +35,7 @@ cert_chain:
35
35
  yZ0=
36
36
  -----END CERTIFICATE-----
37
37
 
38
- date: 2010-04-20 00:00:00 -07:00
38
+ date: 2010-05-20 00:00:00 -07:00
39
39
  default_executable:
40
40
  dependencies: []
41
41
 
metadata.gz.sig CHANGED
Binary file