Doc #62855 [NEW]: After upgrade to PHP 5.3.15 memcached key compression method changed.
| From: | quentin389 at gmail dot com | Date: | Sat, 18 Aug 2012 14:34:53 +0000 |
| Subject: | Doc #62855 [NEW]: After upgrade to PHP 5.3.15 memcached key compression method changed. | ||
| Groups: | php.doc.bugs | ||
| Request: | Send a blank email to doc-bugs+get-8743@lists.php.net to get a copy of this message | ||
From: quentin389 at gmail dot com
Operating system: CentOS 5.8
PHP version: Irrelevant
Package: memcached
Bug Type: Documentation Problem
Bug description:After upgrade to PHP 5.3.15 memcached key compression method changed.
Description:
------------
Hi,
when working on fixing problems with memcached after upgrading from PHP
5.3.13 to 5.3.15 recently (see bug 62801 I reported) we have discovered
that we cannot use older PHP versions with the same memcached server any
longer.
A simple situation:
PHP Server 1 has PHP 5.3.6 and cannot be upgraded
PHP Server 2 had PHP 5.3.13 but was upgraded to 5.3.15
Both of those servers connect to the same memcached server and use the same
keys. Server 1 is a cron server so it uses CLI and server 2 is a frontend
server so we connect via apache.
Before the server 2 upgrade everything was working fine - when we set some
key on server 2 we were able to read it from memcached on server 1 without
any problems.
After the upgrade each time we want to read on server 1 a key set by server
2 we get PAYLOAD FAILURE message from PHP memcached.
However, when we temporarily moved our cronjobs to a fresh server with
5.3.15, everything went back to normal.
My guess is that it means that some compression method was changed in PHP
5.3.14 or PHP 5.3.15 and users were not informed about it in any
changelog.
Breaking backwards compatibility seems to me like a huge deal, something
that you either shouldn't do or if you do you should inform about it with
huge bold letters.
Additional info:
Along with PHP upgrade libmemcached was upgraded from
libmemcached-1.0.2-1.el5.remi.x86_64 to
libmemcached-1.0.4-1.el5.remi.x86_64
We set a following 3 options to PHP memcached (on both server 1 and server
2 of course):
$m->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_IGBINARY));
$m->setOption( Memcached::OPT_BINARY_PROTOCOL, true));
$m->setOption(Memcached::OPT_TCP_NODELAY, true));
Expected result:
----------------
There should have been a clear information about breaking comatiblity with
previous PHP / libmemcached versions.
Actual result:
--------------
There was no info at all.
--
Edit bug report at https://bugs.php.net/bug.php?id=62855&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=62855&r=trysnapshot54
Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=62855&r=trysnapshot53
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=62855&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=62855&r=fixed
Fixed in SVN and need be documented: https://bugs.php.net/fix.php?id=62855&r=needdocs
Fixed in release: https://bugs.php.net/fix.php?id=62855&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=62855&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=62855&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=62855&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=62855&r=support
Expected behavior: https://bugs.php.net/fix.php?id=62855&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=62855&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=62855&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=62855&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=62855&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=62855&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=62855&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=62855&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=62855&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=62855&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=62855&r=mysqlcfg