HiveBrain v1.2.0
Get Started
← Back to all entries
patternMinor

Why I got NoHostAvailable:?

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
nohostavailablegotwhy

Problem

if I run this simple query:

SELECT * from myapp.latests WHERE organization_id = 1 and user_id = 1;


I get error:

NoHostAvailable:


Running nodetool status results into:

Datacenter: eu-central
======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens       Owns (effective)  Host ID                               Rack
UN  10.0.0.53  190.96 KiB  256          0.0%              80f8bf0a-c46d-41ce-bb2e-498def5b3792  1a
UN  10.0.20.5  189.35 KiB  256          0.0%              f25fe4bf-29b2-4403-8e3e-4e973a5f26ab  1b
UN  10.0.0.54  183.13 KiB  256          0.0%              c46ac05a-6cb2-48f1-a776-2c57c33e7719  1a


And here is the description:

```
DESCRIBE myapp;

CREATE KEYSPACE myapp WITH replication = {'class': 'NetworkTopologyStrategy', 'eu-central-1': '2'} AND durable_writes = true;

CREATE TABLE myapp.locations (
organization_id int,
user_id int,
date text,
unix_time bigint,
lat double,
long double,
PRIMARY KEY ((organization_id, user_id, date), unix_time)
) WITH CLUSTERING ORDER BY (unix_time ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
AND comment = ''
AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND crc_check_chance = 1.0
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99PERCENTILE';

CREATE TABLE myapp.latests (
organization_id int,
user_id int,
lat double,
long double,
unix_time bigint,
PRIMARY KEY (organization_id, user_id)
) WITH C

Solution

Replication says eu-central-1 but the actual name is eu-central. It can't find eu-central-1 because it doesn't exist so it throws NoHostAvailable. Change the replication strategy to match the DC name.

Context

StackExchange Database Administrators Q#166334, answer score: 5

Revisions (0)

No revisions yet.