Skip to content

Feedback: Redis cluster specification #3095

@mirzaAshir

Description

@mirzaAshir

Page https://redis.io/docs/latest/operate/oss_and_stack/reference/cluster-spec

Image

const client = createCluster({
rootNodes: [{
url: rediss://:${REDIS_CONFIG.PASSWORD}@${REDIS_CONFIG.HOST}:${REDIS_CONFIG.PORT}
}],

defaults: {
  password: REDIS_CONFIG.PASSWORD,
  socket: {
    tls: true,
    servername: REDIS_CONFIG.HOST,
    keepAlive: true,
    keepAliveInitialDelay: REDIS_CONFIG.REDIS_KEEP_ALIVE_MS,
    connectTimeout: REDIS_CONFIG.REDIS_CONNECT_TIMEOUT_MS,
    reconnectStrategy: (retries, cause) => { // NOSONAR: node-redis contract requires number or Error
      const delay = calculateExponentialBackoff(retries, REDIS_CONFIG.REDIS_DELAY_MS, REDIS_CONFIG.Redis_Jitter_Percent);
      if (retries > REDIS_CONFIG.REDIS_MAX_RETRIES) {
        logHelper.info('warn - Redis: max retries exceeded');

        if (!rotationScheduled) {
          rotationScheduled = true;

          setTimeout(() => {
            rotateRedisClient('max-retries-exceeded').catch((error) => {
              logHelper.error(`Redis rotation failed: ${error.message}`);
            });
          }, delay);
        }

        return new Error('Max retries reached'); // NOSONAR: node-redis reconnectStrategy expects Error to stop retries
      }
      logHelper.info(`Redis reconnect attempt ${retries} in ${delay}ms`);
      return delay;
    }
  }
},

minimizeConnections: REDIS_CONFIG.Redis_Minimize_Connections ?? false, // IMPORTANT for Azure
maxCommandRedirections: 16

});

when traffic increase on my node js app facing below issue even though server load not even max to 55%
error
4/23/2026, 10:16:45.493 AM
Error
ContactId_No Contact Id BusId_No Bus Id Unhandled Rejection at: [object Promise], reason: Error: read ECONNRESET
ln1sdlwk0003R1
Microsoft.Web/sites/log
AppServiceConsoleLogs
/subscriptions/9b0986da-3079-4bbb-bba2-4d01d800fb3d/resourcegroups/connectlingua-japan-prod/providers/microsoft.web/sites/connectlingua-jp-app-v1-prod
218c595f-1335-45c5-86f0-1f2510002b64
Azure
4/23/2026, 10:16:45.492 AM
Error
}
ln1sdlwk0003R1
Microsoft.Web/sites/log
AppServiceConsoleLogs
/subscriptions/9b0986da-3079-4bbb-bba2-4d01d800fb3d/resourcegroups/connectlingua-japan-prod/providers/microsoft.web/sites/connectlingua-jp-app-v1-prod
218c595f-1335-45c5-86f0-1f2510002b64
Azure
4/23/2026, 10:16:45.492 AM
Error
syscall: 'read'
ln1sdlwk0003R1
Microsoft.Web/sites/log
AppServiceConsoleLogs
/subscriptions/9b0986da-3079-4bbb-bba2-4d01d800fb3d/resourcegroups/connectlingua-japan-prod/providers/microsoft.web/sites/connectlingua-jp-app-v1-prod
218c595f-1335-45c5-86f0-1f2510002b64
Azure
4/23/2026, 10:16:45.492 AM
Error
code: 'ECONNRESET',
ln1sdlwk0003R1
Microsoft.Web/sites/log
AppServiceConsoleLogs
/subscriptions/9b0986da-3079-4bbb-bba2-4d01d800fb3d/resourcegroups/connectlingua-japan-prod/providers/microsoft.web/sites/connectlingua-jp-app-v1-prod
218c595f-1335-45c5-86f0-1f2510002b64
Azure
4/23/2026, 10:16:45.492 AM
Error
errno: -104,
ln1sdlwk0003R1
Microsoft.Web/sites/log
AppServiceConsoleLogs
/subscriptions/9b0986da-3079-4bbb-bba2-4d01d800fb3d/resourcegroups/connectlingua-japan-prod/providers/microsoft.web/sites/connectlingua-jp-app-v1-prod
218c595f-1335-45c5-86f0-1f2510002b64
Azure
4/23/2026, 10:16:45.492 AM
Error
Error: read ECONNRESET

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