Troubleshoot issues

This page explains various error scenarios, and provides guidance for resolving the errors.

Connectivity error scenarios

This section explains connectivity issues your instance can encounter.

Connection error caused by firewall rules

Firewall rules might cause connection errors by blocking the ports that Memorystore for Redis Cluster uses. For both of your instance's Private Service Connect endpoints, allowlist ports 11000 through 13047. For more information about these endpoints, see Reserved network addresses.

Connection error caused by organization policies.

You can have an organization policy that blocks your Private Service Connect connections to your Memorystore for Redis Cluster instance.

If your organization policy uses the .restrictPrivateServiceConnectProducer policy, then allow list the 961333125034 folder number, which is a folder specifically for Memorystore for Redis Cluster. For example:

name: organizations/Consumer-org-1/policies/compute.restrictPrivateServiceConnectProducer
spec:
    rules:
      - values:
          allowedValues:
          - under:folders/961333125034

If your organization policy uses the .disablePrivateServiceConnectCreationForConsumers policy, you should allow list SERVICE_PRODUCERS. For example:

name: organizations/Consumer-org-1/policies/compute.disablePrivateServiceConnectCreationForConsumers
spec:
    rules:
      - values:
          allowedValues:
          - SERVICE_PRODUCERS

CPU usage scenarios

This section explains CPU usage issues that your cluster might encounter.

The output buffer of your cluster runs out of space.

If the output buffer of your cluster runs out of space, then do the following:

When the memory of your cluster is full, and a new write comes in, Memorystore for Redis Cluster evicts keys to make room for the write, based on your cluster's maxmemory policy. The allkeys-lru policy evicts the least recently used (LRU) keys from the entire keyset.

We recommend that you monitor your cluster's maxmemory and used memory. This helps you to know if your cluster reaches the provisioned cluster capacity. Also, by reducing the value for the maxmemory parameter, you get more space for the overhead.