这是indexloc提供的服务,不要输入任何密码
Skip to content

2.7.2

@ingenthr ingenthr tagged this 14 Oct 06:27
The 2.7.2 release is a patch update, including a number of new
features.

The 2.7.1 release introduced a required dependency update of
Apache commons codec.  A more elegant solution has been added
to this release so we can now use commons-code 1.3, 1.4 or 1.5.
There is also a more elegant solution to the unfortunate
incompatibility introduced in Netty, where 3.2 changed the
signature of one method.  Thanks to Martin Grotzke for this fix.

Some notable bugs fixed in this release include:
* BaseSerializingTranscode resource leak (issue 190)
* Operation class is used in un-threadsafe, unsynchronized manner
  (issue 195)
* decodeLong() would decode incorrectly and prematurely wrap
  (issue 202)

The development time experience is better starting in 2.7.1.  Classic
"buildr test" will work just as expected, but it will run only the
subset of tests that are appropriate for memcached.  Using some
environment variables, tests can be run against Membase either locally
or remotely or against a remote memcached.

Examples:

Run tests against a Membase instance on the localhost:

  buildr test SPYMC_SERVER_TYPE="membase"

Run memcached IPv4 tests and try to run IPv6 tests against the specified server:

  buildr test SPYMC_TEST_SERVER_V4="10.2.1.58"

Run a test against the specified IPv4 and IPv6 servers:

  buildr test SPYMC_TEST_SERVER_V4="10.2.1.58" SPYMC_TEST_SERVER_V6=
    "some_ipv6_addr"

Summary of changes since the 2.6 series:
(see the 2.7 release notes for more details)

The 2.7 series gains significant new capabilities when using
binary protocol with Membase or forthcoming updates to
memcached.

Starting with the 2.7 release, it is now possible to
instantiate a MemcachedClient from the REST interface
supported by Membase.  What this means is that if you have
one or more buckets in Membase, you can create
MemcachedClient objects to work with the buckets.  Furthermore,
if the cluster topology changes (i.e. a node is added or
removed), the client will automatically adjust to the new
topology.

This updated client also has support for other new Membase
operations, some of which will likely be in memcached
as well in a future release:
  touch - extend the expiration for a given item
  get and touch (a.k.a. gat) - get and touch an item
  getl - get and lock an item, with a lock expiration time

The majority of contributions to this release were
funded by Couchbase, Inc.  Thanks to the 2.7.2 contributors:

Daniel Martin (2):
      Fix concurrent access to operations objects, especially near timeouts
      Use direct buffers in TCPMemcachedNodeImpl

Martin Grotzke (1):
      Add compatibility with netty 3.2.0+.

Matt Ingenthron (2):
      No need for old debugging string in test.
      Revert "SPY-37 & SPY-38: Fixed redistribution performance issue"

Mike Wiederhold (21):
      Operations can't timeout when writing to the write buffer.
      SPY-125: Significant performance issue large number of sets
      Improved performance of write queue processing during timeouts
      Add support for commons-codec 1.3, 1.4, and 1.5
      Remove assertions that assert a completed op isn't timed out
      SPY-49: BaseSerializingTranscoder does not close resources.
      Removed unused variables in GetOperationImpl
      Change getBytes() to getData() in CASOperation
      SPY-39: Added toString() to operation heirarchy
      Added toString() functions to ConnectionFactory classes.
      SPY-47: Client object should have toString().
      SPY-54: getBulk() shouldn't log a warning when a key is not found
      Send an ack for all tap opaque messages
      Made cmd variable a byte for binary operations
      Removed a print line statement from TestConfig
      Removed extra variables in tapCustom header
      Flush the PrintWriter in TapMessagePrinter
      Don't reconnect when a tap connection finishes.
      Made vbmap in MultiKey operation synchronized
      SPY-37 & SPY-38: Fixed redistribution performance issue
      Refactored tap message classes.

sanada0670 (1):
      SPY-51: Bug in OperationImpl's decodeLong(2)

Bugs fixed/closed in 2.7.2:
http://code.google.com/p/spymemcached/issues/detail?id=125
http://code.google.com/p/spymemcached/issues/detail?id=166
http://code.google.com/p/spymemcached/issues/detail?id=190
http://code.google.com/p/spymemcached/issues/detail?id=193 (post release)
http://code.google.com/p/spymemcached/issues/detail?id=195
http://code.google.com/p/spymemcached/issues/detail?id=196
http://code.google.com/p/spymemcached/issues/detail?id=201
http://code.google.com/p/spymemcached/issues/detail?id=202

Bugs fixed/closed in 2.7.1:
http://code.google.com/p/spymemcached/issues/detail?id=96
http://code.google.com/p/spymemcached/issues/detail?id=134
http://code.google.com/p/spymemcached/issues/detail?id=152
http://code.google.com/p/spymemcached/issues/detail?id=171
http://code.google.com/p/spymemcached/issues/detail?id=187

Bugs fixed/closed in 2.7:
http://code.google.com/p/spymemcached/issues/detail?id=153
http://code.google.com/p/spymemcached/issues/detail?id=172
http://code.google.com/p/spymemcached/issues/detail?id=165

With others which can be listed here:
http://code.google.com/p/spymemcached/issues/list

Note that Couchbase also tracks some issues here:
http://www.couchbase.org/issues/browse/SPY
Assets 2
Loading