Я получил ошибку в моей программе при попытке получить значение из memcached с этой ошибкой, которая появляется в LOG: MEMCACHED_CONNECTION_SOCKET_CREATE_FAILURE.
Журнал выходит из memcached strerr (11). Эта проблема встречается очень редко, и ее трудно воспроизвести намеренно (например, путем уменьшения настроек ulimit в ядре). Любая идея о том, что проверить, будет оценена. Я пытался с strace -p [the memcached instance's pid] , dmesg, lsof | grep socket
, но не смог выяснить, что является основной причиной этой проблемы.
код unix_socket_connect
, вызываемый memcached_get
:
static memcached_return_t unix_socket_connect(memcached_server_st *ptr)
{
struct sockaddr_un servAddr;
if (ptr->fd == -1)
{
if ((ptr->fd= socket(AF_UNIX, SOCK_STREAM, 0)) < 0)
{
ptr->cached_errno= errno;
return MEMCACHED_CONNECTION_SOCKET_CREATE_FAILURE;
}
}
//......
}