25142497 Updated memcached to version 1.4.33
25139575 problem in DATABASE/MEMCACHED
--- a/components/memcached/Makefile Fri Dec 02 08:08:33 2016 -0800
+++ b/components/memcached/Makefile Tue Dec 13 06:38:49 2016 -0800
@@ -26,14 +26,14 @@
include ../../make-rules/shared-macros.mk
COMPONENT_NAME= memcached
-COMPONENT_VERSION= 1.4.25
+COMPONENT_VERSION= 1.4.33
COMPONENT_PROJECT_URL= http://memcached.org/
COMPONENT_ARCHIVE_HASH= \
- sha256:f058437b3c224d321919a9a6bb4e3eedb2312ed718c0caf087ff2f04ab795dda
+ sha256:83726c8d68258c56712373072abb25a449c257398075a39ec0867fd8ba69771d
COMPONENT_ARCHIVE_URL= http://memcached.org/files/$(COMPONENT_ARCHIVE)
COMPONENT_BUGDB= database/memcached
-TPNO= 31391
+TPNO= 32788
include $(WS_MAKE_RULES)/common.mk
@@ -42,8 +42,6 @@
COMPONENT_PRE_CONFIGURE_ACTION = \
($(CLONEY) $(SOURCE_DIR) $(@D))
-COMPONENT_TEST_TARGETS= test
-
studio_OPT = -xO5
CFLAGS += -D__ATTRIBUTE_DISABLED
@@ -61,12 +59,16 @@
# lru-maintainer.t is inconsistent and usually fails.
-# Transforms remove unnecessary text from results
+COMPONENT_TEST_TARGETS= test
+
+# Just retain test result output that's useful.
COMPONENT_TEST_TRANSFORMS += \
- '-e "s|\(failed to listen on TCP port \).*|\1|" ' \
- '-e "s|\(Tests=6851\).*|\1|" '\
- '-e "/\(slab class\).*/d" ' \
- '-e "/\(<\).*/d" '
+ '-n ' \
+ '-e "/^ok/p" ' \
+ '-e "/ ok/p" ' \
+ '-e "/^not ok/p" ' \
+ '-e "/^All tests/p" ' \
+ '-e "/^Result/p" '
REQUIRED_PACKAGES += library/libevent
REQUIRED_PACKAGES += shell/ksh93
--- a/components/memcached/memcached.license Fri Dec 02 08:08:33 2016 -0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-Copyright (c) 2003, Danga Interactive, Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
-
- * Neither the name of the Danga Interactive nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--- a/components/memcached/memcached.p5m Fri Dec 02 08:08:33 2016 -0800
+++ b/components/memcached/memcached.p5m Tue Dec 13 06:38:49 2016 -0800
@@ -18,7 +18,7 @@
#
# CDDL HEADER END
#
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
#
<transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
@@ -43,4 +43,4 @@
file path=usr/lib/memcached mode=0555
file Solaris/memcached.8 path=usr/share/man/man8/memcached.8
#
-license memcached.license license=BSD
+license COPYING license=BSD
--- a/components/memcached/patches/02-lru-maintainer.patch Fri Dec 02 08:08:33 2016 -0800
+++ b/components/memcached/patches/02-lru-maintainer.patch Tue Dec 13 06:38:49 2016 -0800
@@ -1,19 +1,34 @@
Ignore lru-maintainer.t because it is inconsistent.
Upstream is irresponsible https://groups.google.com/forum/#!topic/memcached/35wG9noM9rM
---- a/t/lru-maintainer.t 2015-11-18 22:49:43.000000000 -0800
-+++ /dev/null 2016-09-20 11:14:16.000000000 -0700
-@@ -1,90 +0,0 @@
+--- memcached-1.4.33/t/lru-maintainer.t.orig 2016-11-23 08:09:00.238033621 +0000
++++ memcached-1.4.33/t/lru-maintainer.t 1969-12-31 16:00:00.000000000 +0000
+@@ -1,105 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
--use Test::More tests => 224;
+-use warnings;
+-use Test::More tests => 225;
-use FindBin qw($Bin);
-use lib "$Bin/lib";
-use MemcachedTest;
-
--my $server = new_memcached('-m 6 -o lru_maintainer,lru_crawler');
+-# Regression test for underestimating the size of items after the large memory
+-# change.
+-my $server = new_memcached('-m 3 -o lru_maintainer,lru_crawler');
-my $sock = $server->sock;
+-my $keystub = "X"x200;
+-for (1 .. 15000) {
+- print $sock "set $keystub$_ 0 0 2 noreply\r\nok\r\n";
+-}
+-# There's probably already an error on the wire, so we'll see that.
+-$keystub .= "20001";
+-print $sock "set $keystub 0 0 2\r\nok\r\n";
+-is(scalar <$sock>, "STORED\r\n", "stored key without OOM");
+-
+-# Basic tests
+-$server = new_memcached('-m 6 -o lru_maintainer,lru_crawler');
+-$sock = $server->sock;
-
-for (1 .. 10) {
- print $sock "set ifoo$_ 0 1 2\r\nok\r\n";
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/memcached/patches/03-fix-build.patch Tue Dec 13 06:38:49 2016 -0800
@@ -0,0 +1,29 @@
+Adjustments needed to get memcached version 1.4.33 to build with the Studio
+compiler on Solaris.
+
+These changes will be passed upstream.
+
+--- memcached-1.4.33/logger.c.orig 2016-11-23 07:59:46.959952180 +0000
++++ memcached-1.4.33/logger.c 2016-11-23 08:01:04.874324240 +0000
+@@ -7,6 +7,10 @@
+ #include <poll.h>
+ #include <ctype.h>
+
++#if !defined(HAVE_GCC_64ATOMICS) && defined(__sun)
++#include <atomic.h>
++#endif
++
+ #include "memcached.h"
+ #include "bipbuffer.h"
+
+--- memcached-1.4.33/memcached.c.orig 2016-11-23 08:01:32.066440520 +0000
++++ memcached-1.4.33/memcached.c 2016-11-23 08:01:55.766437536 +0000
+@@ -358,8 +358,6 @@
+ sleep_time);
+ usleep((useconds_t) sleep_time * 1000000);
+ }
+-
+- return NULL;
+ }
+
+ static int start_conn_timeout_thread() {
--- a/components/memcached/test/results-64.master Fri Dec 02 08:08:33 2016 -0800
+++ b/components/memcached/test/results-64.master Tue Dec 13 06:38:49 2016 -0800
@@ -1,18 +1,3 @@
-make[1]: Entering directory '$(@D)'
-./sizes
-Slab Stats 64
-Thread stats -8568
-Global stats 304
-Settings 184
-Item (no cas) 48
-Item (cas) 56
-Libevent thread 176
-Connection 528
-----------------------------------------
-libevent thread cumulative 4408
-Thread stats cumulative 4232
-./testapp
-1..52
ok 1 - cache_create
ok 2 - cache_constructor
ok 3 - cache_constructor_fail
@@ -63,78 +48,60 @@
ok 48 - binary_stat
ok 49 - binary_illegal
ok 50 - binary_pipeline_hickup
-Signal handled: Interrupt.
ok 51 - shutdown
ok 52 - stop_server
-prove ./t
-getaddrinfo(): node name or service name not known
-failed to listen on TCP port
-Invalid value for binding protocol: http
- -- should be one of auto, binary, or ascii
-Number of threads must be greater than 0
-t/00-startup.t ....... ok
-t/64bit.t ............ ok
-t/binary-get.t ....... ok
-This server is not built with SASL support.
-t/binary-sasl.t ...... ok
-t/binary.t ........... ok
-t/bogus-commands.t ... ok
-t/cas.t .............. ok
-t/daemonize.t ........ ok
-t/dash-M.t ........... ok
-t/evictions.t ........ ok
-t/expirations.t ...... ok
-t/flags.t ............ ok
-t/flush-all.t ........ ok
-t/getset.t ........... ok
-t/incrdecr.t ......... ok
-t/issue_104.t ........ ok
-t/issue_108.t ........ ok
-t/issue_14.t ......... ok
-t/issue_140.t ........ skipped: Fix for Issue 140 was only an illusion
-t/issue_152.t ........ ok
-t/issue_163.t ........ ok
-t/issue_183.t ........ ok
-t/issue_192.t ........ ok
-t/issue_22.t ......... ok
-t/issue_260.t ........ skipped: Only possible to test #260 under artificial conditions
-t/issue_29.t ......... ok
-t/issue_3.t .......... ok
-t/issue_41.t ......... ok
-t/issue_42.t ......... ok
-t/issue_50.t ......... ok
-t/issue_61.t ......... ok
-t/issue_67.t ......... ok
-t/issue_68.t ......... ok
-t/issue_70.t ......... ok
-Item max size cannot be less than 1024 bytes.
-Cannot set item size limit higher than 128 mb.
-WARNING: Setting item max size above 1MB is not recommended!
- Raising this limit increases the minimum memory requirements
- and will decrease your memory efficiency.
-WARNING: Setting item max size above 1MB is not recommended!
- Raising this limit increases the minimum memory requirements
- and will decrease your memory efficiency.
-t/item_size_max.t .... ok
-t/line-lengths.t ..... ok
-t/lru-crawler.t ...... ok
-t/lru.t .............. ok
-t/maxconns.t ......... ok
-t/multiversioning.t .. ok
-t/noreply.t .......... ok
-t/refhang.t .......... ok
-t/slabs-reassign2.t .. ok
-t/slabs_reassign.t ... ok
-t/stats-conns.t ...... ok
-t/stats-detail.t ..... ok
-t/stats.t ............ ok
-t/touch.t ............ ok
-t/udp.t .............. ok
-t/unixsocket.t ....... ok
-fatal: Not a git repository (or any parent up to mount point /builds)
-Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
-t/whitespace.t ....... skipped: Skipping tests probably because you don't have git.
+t/00-startup.t .............. ok
+t/64bit.t ................... ok
+t/binary-get.t .............. ok
+t/binary-sasl.t ............. ok
+t/binary.t .................. ok
+t/bogus-commands.t .......... ok
+t/cas.t ..................... ok
+t/chunked-items.t ........... ok
+t/daemonize.t ............... ok
+t/dash-M.t .................. ok
+t/dyn-maxbytes.t ............ ok
+t/evictions.t ............... ok
+t/expirations.t ............. ok
+t/flags.t ................... ok
+t/flush-all.t ............... ok
+t/getset.t .................. ok
+t/idle-timeout.t ............ ok
+t/incrdecr.t ................ ok
+t/issue_104.t ............... ok
+t/issue_108.t ............... ok
+t/issue_14.t ................ ok
+t/issue_152.t ............... ok
+t/issue_163.t ............... ok
+t/issue_183.t ............... ok
+t/issue_192.t ............... ok
+t/issue_22.t ................ ok
+t/issue_29.t ................ ok
+t/issue_3.t ................. ok
+t/issue_41.t ................ ok
+t/issue_42.t ................ ok
+t/issue_50.t ................ ok
+t/issue_61.t ................ ok
+t/issue_67.t ................ ok
+t/issue_68.t ................ ok
+t/issue_70.t ................ ok
+t/item_size_max.t ........... ok
+t/line-lengths.t ............ ok
+t/lru-crawler.t ............. ok
+t/lru.t ..................... ok
+t/maxconns.t ................ ok
+t/multiversioning.t ......... ok
+t/noreply.t ................. ok
+t/refhang.t ................. ok
+t/slabs-reassign-chunked.t .. ok
+t/slabs-reassign2.t ......... ok
+t/slabs_reassign.t .......... ok
+t/stats-conns.t ............. ok
+t/stats-detail.t ............ ok
+t/stats.t ................... ok
+t/touch.t ................... ok
+t/udp.t ..................... ok
+t/unixsocket.t .............. ok
+t/watcher.t ................. ok
All tests successful.
-Files=51, Tests=7296, 83 wallclock secs ( 1.13 usr 0.28 sys + 5.88 cusr 3.32 csys = 10.61 CPU)
Result: PASS
-make[1]: Leaving directory '$(@D)'