dalli 5.1.1 → 5.1.2

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
  SHA256:
3
- metadata.gz: 1cb62e15948a7d649e178bcfc9aa03de998be618f4fa7d08c988f874006c941f
4
- data.tar.gz: 0b2d3d9d1a7a73276a6fa22e2015805a306bab7c0e53616a9531eccff7979c33
3
+ metadata.gz: 53113b610a737a8a40a4f830c24251218161e36a83c01e3cf92b85e74ce2bbf1
4
+ data.tar.gz: 510c940cb0ee92a95e77939ffe277fc1a299539dff69d7e70cb2a8ca621ae94f
5
5
  SHA512:
6
- metadata.gz: eaab609ed368a7f8f2fa129eab6177894cfc7548ea25002b30bae4ee13d22daaa6470241f97ba6e01a5b457820587e5c08e4426b948f889f6921c556dbdd8438
7
- data.tar.gz: 78d2faea9492b9f18bf7a0f5a0459a785319d0261c81f32c9fd218bb837b73550b79af8bd94373abc17f6e94db8b049a515308de2475905fda004a66de4cacc6
6
+ metadata.gz: eacfdd099e2236d46abc8c445467f34088a23455cf42fa9cef9a328dfc64b474c0456063c2b40fb7e958ae96a455c63bf29ea8ad118501f64a46090364999d68
7
+ data.tar.gz: c0327598c3d0384e50bc132ef44cd5ccb94b346969eeee4b2235d43c7e31f2cde4fc9867b81c8f5ceffb6c624a01a1b3ea8de44a6ac856521fbcaa714d2a516d
data/CHANGELOG.md CHANGED
@@ -4,6 +4,18 @@ Dalli Changelog
4
4
  Unreleased
5
5
  ==========
6
6
 
7
+ 5.1.2
8
+ ==========
9
+
10
+ Bug fixes:
11
+
12
+ - Fix multi-server `get_multi` stopping at an empty value (#1170)
13
+ - The pipelined reply parser took a hit on a zero-length value (`VA 0`) for the terminating `MN`, so that server's remaining keys were silently missing from the result
14
+ - Its value terminator and any replies not yet parsed stayed on the connection and were read as the replies to later commands on it. Those commands could fail with `Dalli::DalliError: Response error`, or a single-key `get` could silently return another key's value
15
+ - An empty value is now returned as `''`, like a single-key `get` and single-server `get_multi`
16
+ - Affects the meta protocol since 3.2.0 (the default since 5.0.0)
17
+ - Thanks to Julian Richard Contreras for this contribution
18
+
7
19
  5.1.1
8
20
  ==========
9
21
 
@@ -239,8 +239,10 @@ module Dalli
239
239
  # We have a complete response that has no body.
240
240
  # This is either the response to the terminating
241
241
  # noop or, if the status is not MN, an intermediate
242
- # error response that needs to be discarded.
243
- return [true, header_len] if body_len.zero?
242
+ # error response that needs to be discarded. A hit
243
+ # on an empty value (VA 0) still has a body -- just
244
+ # its terminator -- so it's parsed below as a value.
245
+ return [true, header_len] if body_len.zero? && tokens.first != VA
244
246
 
245
247
  resp_size = header_len + body_len + TERMINATOR.length
246
248
  # The header is in the buffer, but the body is not. As we don't have
data/lib/dalli/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dalli
4
- VERSION = '5.1.1'
4
+ VERSION = '5.1.2'
5
5
 
6
6
  MIN_SUPPORTED_MEMCACHED_VERSION = '1.6.27'
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dalli
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.1
4
+ version: 5.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter M. Goldstein