Amazon MemoryDB (Redis): No reachable node in cluster
See original GitHub issueSystem information:
- Windows 10
- DBeaver EE 22.1.0.202206131757
- Vrapper
Connection specification:
- AWS MemoryDB: Redis 6.2.4
- redis_jedis
- No tunnels/proxies
Describe the problem you’re observing:
After connecting to the Redis cluster, when attempting to execute any command in a query, the following is returned:
No reachable node in cluster
Other clients, e.g. redis-cli
are able to connect to this instance and execute commands, i.e. this works:
redis-cli -h redis_connection.memorydb.us-east-1.amazonaws.com --tls -p 6379 INFO
Steps to reproduce, if exist:
Create a new Redis-type connection in DBeaver.
- Enter host
- Check “Cluster” box
- Under SSL, check “Use SSL”
- Under SSL, check “Skip host name validation”
Test connection, save. Open a new query editor window and execute GET 'key:abc'
and the error is returned.
Based on this comment, I’ve also tried restarting my machine, but the error message remains.
Include any warning/errors/backtraces from the logs
dbeaver-debug.log
2022-06-30 12:51:15.626 - Connect with 'redis_connection' (redis_jedis-17e2fde007a-34ff9a2b4097fcd7)
2022-06-30 12:51:15.655 - Execution context opened (redis_connection; Main Redis Connection; 17)
2022-06-30 12:51:15.656 - Connected (redis_jedis-17e2fde007a-34ff9a2b4097fcd7, Redis Java Client [3.5.1])
2022-06-30 12:51:15.664 - Execution context opened (redis_connection; SQLEditor <Script-6.sql>; 18)
2022-06-30 12:51:17.919 - No reachable node in cluster
org.jkiss.dbeaver.model.exec.DBCException: No reachable node in cluster
at com.dbeaver.db.redis.exec.RedisBaseStatement.handleExecuteError(RedisBaseStatement.java:170)
at com.dbeaver.db.redis.exec.RedisCommandStatement.executeStatement(RedisCommandStatement.java:81)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeStatement(SQLQueryJob.java:575)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.lambda$1(SQLQueryJob.java:484)
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:172)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:491)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.extractData(SQLQueryJob.java:878)
at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:3526)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:118)
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:172)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:116)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:4868)
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:105)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: redis.clients.jedis.exceptions.JedisNoReachableClusterNodeException: No reachable node in cluster
at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnection(JedisSlotBasedConnectionHandler.java:101)
at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnectionFromSlot(JedisSlotBasedConnectionHandler.java:122)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:100)
at redis.clients.jedis.JedisClusterCommand.run(JedisClusterCommand.java:25)
at redis.clients.jedis.JedisCluster.sendCommand(JedisCluster.java:2479)
at com.dbeaver.db.redis.exec.RedisCommandStatement.executeCommand(RedisCommandStatement.java:108)
at com.dbeaver.db.redis.exec.RedisCommandStatement.executeStatement(RedisCommandStatement.java:65)
... 12 more
> Start OAuth support for Eclipse User Storage [org.eclipse.userstorage.oauth 1.1.0.v20190307-0457]
2022-06-30 12:56:13.558 - No reachable node in cluster
org.jkiss.dbeaver.model.exec.DBCException: No reachable node in cluster
at com.dbeaver.db.redis.exec.RedisBaseStatement.handleExecuteError(RedisBaseStatement.java:170)
at com.dbeaver.db.redis.exec.RedisCommandStatement.executeStatement(RedisCommandStatement.java:81)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeStatement(SQLQueryJob.java:575)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.lambda$1(SQLQueryJob.java:484)
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:172)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:491)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.extractData(SQLQueryJob.java:878)
at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:3526)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:118)
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:172)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:116)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:4868)
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:105)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: redis.clients.jedis.exceptions.JedisNoReachableClusterNodeException: No reachable node in cluster
at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnection(JedisSlotBasedConnectionHandler.java:101)
at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnectionFromSlot(JedisSlotBasedConnectionHandler.java:122)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:100)
at redis.clients.jedis.JedisClusterCommand.run(JedisClusterCommand.java:25)
at redis.clients.jedis.JedisCluster.sendCommand(JedisCluster.java:2479)
at com.dbeaver.db.redis.exec.RedisCommandStatement.executeCommand(RedisCommandStatement.java:108)
at com.dbeaver.db.redis.exec.RedisCommandStatement.executeStatement(RedisCommandStatement.java:65)
... 12 more
2022-06-30 12:57:52.752 - No reachable node in cluster
org.jkiss.dbeaver.model.exec.DBCException: No reachable node in cluster
at com.dbeaver.db.redis.exec.RedisBaseStatement.handleExecuteError(RedisBaseStatement.java:170)
at com.dbeaver.db.redis.exec.RedisCommandStatement.executeStatement(RedisCommandStatement.java:81)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeStatement(SQLQueryJob.java:575)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.lambda$1(SQLQueryJob.java:484)
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:172)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:491)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.extractData(SQLQueryJob.java:878)
at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:3526)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:118)
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:172)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:116)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:4868)
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:105)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: redis.clients.jedis.exceptions.JedisNoReachableClusterNodeException: No reachable node in cluster
at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnection(JedisSlotBasedConnectionHandler.java:101)
at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnectionFromSlot(JedisSlotBasedConnectionHandler.java:122)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:100)
at redis.clients.jedis.JedisClusterCommand.run(JedisClusterCommand.java:25)
at redis.clients.jedis.JedisCluster.sendCommand(JedisCluster.java:2479)
at com.dbeaver.db.redis.exec.RedisCommandStatement.executeCommand(RedisCommandStatement.java:108)
at com.dbeaver.db.redis.exec.RedisCommandStatement.executeStatement(RedisCommandStatement.java:65)
... 12 more
2022-06-30 13:11:35.936 - Connect with 'redis_connection' (redis_jedis-17e2fde007a-34ff9a2b4097fcd7)
2022-06-30 13:11:36.095 - Execution context opened (redis_connection; Main Redis Connection; 27)
2022-06-30 13:11:36.096 - Connected (redis_jedis-17e2fde007a-34ff9a2b4097fcd7, Redis Java Client [3.5.1])
2022-06-30 13:11:36.125 - Execution context opened (agora-dw-memorydb-qa-01; SQLEditor <Script-6.sql>; 28)
2022-06-30 13:11:39.028 - Read Redis keys (all)
2022-06-30 13:11:39.028 - Use cluster node null
2022-06-30 13:11:45.287 - Read Redis keys (all)
2022-06-30 13:11:45.288 - Use cluster node null
Note, in the above, the “Use cluster node null” message appears after expanding the “Key list” and “Key hierarchy” in the connection UI for the redis connection.
redis INFO
Non-relevant sections/info removed.
# Server
redis_version:6.2.4
redis_git_sha1:0
redis_git_dirty:0
redis_build_id:0
redis_mode:cluster
os:Amazon MemoryDB
arch_bits:64
multiplexing_api:epoll
atomicvar_api:c11-builtin
gcc_version:0.0.0
process_id:1
run_id:1e01...
tcp_port:6379
server_time_usec:1656611811067874
uptime_in_seconds:17579909
uptime_in_days:203
hz:10
configured_hz:10
lru_clock:12444642
executable:-
config_file:-
# Clients
connected_clients:95
cluster_connections:0
maxclients:65000
client_recent_max_input_buffer:48
client_recent_max_output_buffer:0
blocked_clients:0
tracking_clients:0
clients_in_timeout_table:0
# SSL
ssl_enabled:yes
ssl_current_certificate_not_before_date:Nov 23 00:00:00 2021 GMT
ssl_current_certificate_not_after_date:Dec 22 23:59:59 2022 GMT
ssl_current_certificate_serial:0E6B...
# Replication
role:master
connected_slaves:0
master_failover_state:no-failover
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:5153363368518
repl_backlog_histlen:1048576
# Cluster
cluster_enabled:1
# Keyspace
db0:keys=6250682,expires=5424200,avg_ttl=1578711604
Issue Analytics
- State:
- Created a year ago
- Comments:6 (3 by maintainers)
Top Results From Across the Web
Accessing your cluster - Amazon MemoryDB for Redis
Your MemoryDB for Redis instances are designed to be accessed through an Amazon EC2 instance. You can access your MemoryDB node from an...
Read more >redis - No reachable node in cluster exception ...
I figure out the issue. In-fact it was Redis cluster's security group . The security group allows all traffic from default security group...
Read more >Deep dive on Amazon MemoryDB for Redis - YouTube
Get started with the newest database service from AWS: Amazon MemoryDB for Redis, a Redis -compatible, durable, in-memory database service ...
Read more >The ACK service controller for Amazon MemoryDB for Redis ...
We also deploy a sample POD on the Amazon EKS Cluster to connect to the Amazon MemoryDB Cluster instance from the POD. Setup#....
Read more >Database Access with AWS ElastiCache and AWS MemoryDB ...
AWS account with at least one ElastiCache or MemoryDB for Redis clusters ... protocol must verify that an HTTPS server is reachable on...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
NOTE: Seems to be related to Encryption. The cluster I get the error on has “Encryption in transit” set to “TLS”.
As a test, I created another cluster with “Encryption in transit” set to “No encryption”. The “No Encryption” cluster’s data is viewable in DBeaver.
Linked PR: https://github.com/dbeaver/dbeaver-ee/pull/1886