diff --git a/libmemcached-Ignore-specific-errors-from-memcached_dump.patch b/libmemcached-Ignore-specific-errors-from-memcached_dump.patch new file mode 100644 index 0000000..348147a --- /dev/null +++ b/libmemcached-Ignore-specific-errors-from-memcached_dump.patch @@ -0,0 +1,33 @@ +From e96f7e024e860a67424282efd6dcc11cbb2b681d Mon Sep 17 00:00:00 2001 +From: lingsheng +Date: Fri, 30 Oct 2020 16:00:14 +0800 +Subject: [PATCH] Ignore specific errors from memcached_dump + https://github.com/php-memcached-dev/php-memcached/pull/315 + +Signed-off-by: lingsheng +--- + clients/memdump.cc | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/clients/memdump.cc b/clients/memdump.cc +index 48c35d3..5c6d693 100644 +--- a/clients/memdump.cc ++++ b/clients/memdump.cc +@@ -123,7 +123,13 @@ int main(int argc, char *argv[]) + memcached_return_t rc= memcached_dump(memc, callbacks, NULL, 1); + + int exit_code= EXIT_SUCCESS; +- if (memcached_failed(rc)) ++ /* Ignore two errors. libmemcached has a hardcoded loop of 200 slab ++ * classes that matches memcached < 1.4.24, at which version the server ++ * has only 63 slabs and throws an error when requesting the 64th slab. ++ * ++ * In multi-server some non-deterministic number of elements will be dropped. ++ */ ++ if (rc != MEMCACHED_CLIENT_ERROR && rc != MEMCACHED_SERVER_ERROR && memcached_failed(rc)) + { + if (opt_verbose) + { +-- +2.23.0 + diff --git a/libmemcached-fix-memdump-version.patch b/libmemcached-fix-memdump-version.patch new file mode 100644 index 0000000..f04a8c4 --- /dev/null +++ b/libmemcached-fix-memdump-version.patch @@ -0,0 +1,25 @@ +From b83f34708cb7465f57edc29a2f56f8bf8ad60118 Mon Sep 17 00:00:00 2001 +From: lingsheng +Date: Fri, 30 Oct 2020 14:21:02 +0800 +Subject: [PATCH] fix memdump --version + +--- + clients/memdump.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/clients/memdump.cc b/clients/memdump.cc +index 48c35d3..ab2444e 100644 +--- a/clients/memdump.cc ++++ b/clients/memdump.cc +@@ -190,7 +190,7 @@ static void options_parse(int argc, char *argv[]) + break; + + case OPT_VERSION: /* --version or -V */ +- opt_verbose= true; ++ opt_version= true; + break; + + case OPT_HELP: /* --help or -h */ +-- +2.23.0 + diff --git a/libmemcached.spec b/libmemcached.spec index cea8410..acffc7f 100644 --- a/libmemcached.spec +++ b/libmemcached.spec @@ -1,7 +1,7 @@ Name: libmemcached Summary: Client library and command line tools for memcached server Version: 1.0.18 -Release: 16 +Release: 17 License: BSD URL: http://libmemcached.org/ #origin source:https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz @@ -15,8 +15,10 @@ Provides: bundled(bobjenkins-hash) Provides: libmemcached-libs Obsoletes: libmemcached-libs < %{version}-%{release} -#Patch0001: libmemcached-fix-linking-with-libpthread.patch +Patch0001: libmemcached-fix-linking-with-libpthread.patch Patch0002: libmemcached-build.patch +Patch0003: libmemcached-fix-memdump-version.patch +Patch0004: libmemcached-Ignore-specific-errors-from-memcached_dump.patch %description @@ -98,5 +100,8 @@ make test %{_mandir}/man3/hashkit* %changelog +* Fri Oct 30 2020 lingsheng - 1.0.18-17 +- Fix memdump unexpected errors + * Fri Feb 28 2020 zhouyihang - 1.0.18-16 - Package init