Skip to content

apollo-server-cache-memcached doesn't reconnect after ECONNRESET #3837

@kdybicz

Description

@kdybicz

I'm running my Lambda in NodeJS 12.x container on AWS with such dependencies:

    "apollo-datasource-rest": "^0.7.0"
    "apollo-server-cache-memcached": "^0.6.4"
        "memcached": "^2.2.2"
    "apollo-server-caching": "^0.5.1"
    "apollo-server-lambda": "^2.10.1"

As long there are no issues with connection to AWS Memcached servers everything seems to work fine, but sometimes for some reason connection is dropped with such error:

2020-02-27T21:24:12.533Z	437a4074-e1c3-408f-859d-7717273b5e2f	INFO	Connection error Error: read ECONNRESET
    at TCP.onStreamRead [as _originalOnread] (internal/stream_base_commons.js:200:27)
    at TCP.<anonymous> (/var/task/node_modules/async-listener/glue.js:188:31) {
  errno: 'ECONNRESET',
  code: 'ECONNRESET',
  syscall: 'read'
}

This itself is a separate problem, but core of my situation is that Memcached doesn't try to reconnect to the server after this issue and just hangs. This could be related to issues with legacy and not maintained anymore memcached client you're using in your apollo-server-cache-memcached module. I found this in their repo: 3rd-Eden/memcached#281 and 3rd-Eden/memcached#199

Is there a chance you could update your module to use more recent, maintained version of memcached client?

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