Skip to content

get returns random values when lower than default OPT_POLL_TIMEOUT is set #531

@ondrejcech

Description

@ondrejcech

After upgrading to libmemcached to 3.1.5-6, I'm sometimes (!) getting random results when calling the get method. There's no error, but the returned value is from a different key. This does not happen on every request. I've narrowed this error down to OPT_POLL_TIMEOUT option. When set to lower than 500ms this starts to happen. It seems that if OPT_POLL_TIMEOUT happens, the library returns a seemingly random value without any error.

It does not happen when OPT_POLL_TIMEOUT is set to default 1000ms value or omitted.

Not sure if it's an issue of libmemcached or php-memcached though.

PHP version:

php -v
PHP 8.1.12 (cli) (built: Oct 25 2022 17:30:00) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.12, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.12, Copyright (c), by Zend Technologies

memcache* libraries:

rpm -qa | grep memcached
remi-libmemcached-awesome-1.1.3-1.el7.remi.x86_64
libmemcached-1.0.16-5.el7.x86_64
php81-php-pecl-memcached-3.2.0-1.el7.remi.x86_64
libmemcached-opt-libs-1.0.18-2.el7.remi.x86_64
memcached-1.6.16-1.el7.remi.x86_64
php80-php-pecl-memcached-3.1.5-4.el7.remi.x86_64

some memcache stats

echo 'stats' | nc localhost 11211
STAT version 1.6.16
STAT libevent 2.0.21-stable
END

I will be more than happy to provide more debug info.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions