question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Amazon MemoryDB (Redis): No reachable node in cluster

See original GitHub issue

System 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:closed
  • Created a year ago
  • Comments:6 (3 by maintainers)

github_iconTop GitHub Comments

2reactions
homerlexcommented, Aug 22, 2022

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.

0reactions
serge-ridercommented, Aug 25, 2022
Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found