qishibo/AnotherRedisDesktopManager · error
Too Many Attempts To Reconnect. Please Check The Server Stat
Error message
Too Many Attempts To Reconnect. Please Check The Server Status!
What it means
ioredis reconnect loop gave up. The app wires its custom retryStragety through retryStrategy (src/redisClient.js:211,232); once the reconnect attempt counter reaches maxRetryTimes (3), it shows this toast, emits 'closeConnection', and returns false so ioredis stops retrying entirely. The connection is then permanently closed until manually reopened.
Source
Thrown at src/redisClient.js:348
ca: this.getFileContent(options.ca, options.cabookmark),
key: this.getFileContent(options.key, options.keybookmark),
cert: this.getFileContent(options.cert, options.certbookmark),
// SNI server name
servername: options.servername || undefined,
checkServerIdentity: (servername, cert) =>
// skip certificate hostname validation
undefined,
rejectUnauthorized: false,
};
},
retryStragety(times, connection) {
const maxRetryTimes = 3;
if (times >= maxRetryTimes) {
vue.$message.error('Too Many Attempts To Reconnect. Please Check The Server Status!');
vue.$bus.$emit('closeConnection');
return false;
}
// reconnect after
return Math.min(times * 200, 1000);
},
getFileContent(file, bookmark = '') {
if (!file) {
return undefined;
}
try {
// mac app store version, read through bookmark
if (bookmark) {
const bookmarkClose = remote.app.startAccessingSecurityScopedResource(bookmark);
}View on GitHub (pinned to c149855106)
Solutions
- Verify the server is reachable from the same machine: 'redis-cli -h host -p port ping' or 'telnet host port'.
- Fix the underlying issue (start Redis, open firewall/security group, reconnect VPN, fix TLS settings).
- Reopen the connection from the connection menu - the app will not resume retrying on its own after this toast.
Defensive patterns
Strategy: retry
Validate before calling
// preflight before connecting
const net = require('net');
const reachable = (host, port, timeout = 1500) => new Promise((resolve) => {
const s = net.connect({ host, port });
s.setTimeout(timeout, () => { s.destroy(); resolve(false); });
s.on('connect', () => { s.destroy(); resolve(true); });
s.on('error', () => resolve(false));
});
if (!(await reachable(host, port))) throw new Error('Server unreachable - check network before connecting'); Try / catch
// after the app gives up (closeConnection), retry only after the cause is fixed
client.on('end', async () => {
if (await reachable(host, port)) reconnect(); // server back: retry once
}); Prevention
- The app stops retrying permanently after 3 attempts - always reopen the connection manually after fixing the cause.
- Keep long-lived connections alive with TCP keepalives to avoid idle disconnects triggering reconnect storms.
- Do not treat this as transient: verify reachability first, then reconnect.
When it happens
Trigger: Any condition that makes connect() fail 3 times in a row: Redis process down or restarting, wrong host/port, firewall or security group blocking 6379, network/VPN partition, TLS mismatch, server at maxclients refusing connections.
Common situations: Redis server restarted while the GUI stayed open; laptop sleep/resume breaking sockets; VPN dropped mid-session; cloud security group changed; long-idle connections killed by a NAT/proxy.
Related errors
- this.$t('message.test_connection_timeout')
- Stream On Error: ${e.message}
- e.message
- e.message
- TTL Error: ${e.message}
AI-assisted analysis of qishibo/AnotherRedisDesktopManager@c149855106 (2026-08-22).
Data as JSON: /api/errors/983827f81c206b47.
Report an issue: GitHub.