Mam błąd wein próbuje odczytać dane z tabeli Cassandra. Mam instalację z jednym węzłem, z domyślną konfiguracją. To zapytanie robię:Błąd odczytu w kassierze
SELECT component_id,
reading_1,
reading_2,
reading_3,
date
FROM component_readings
WHERE park_id=2
AND component_id IN (479)
AND date >= '2016-04-09+0000'
AND date <= '2016-05-08+0000';
component_readings
jest prosty stół, bez żadnych warunków grupowania:
CREATE TABLE component_readings (
park_id int,
component_id int,
date timestamp,
reading_1 decimal,
reading_2 decimal,
...
PRIMARY KEY ((park_id), component_id, date)
);
Z pewnymi wartościami component_id
, to działa, i z innymi wartościami, to się nie powiedzie. Jest to błąd otrzymuję:
cassandra.ReadFailure: code=1300 [Replica(s) failed to execute read]
message="Operation failed - received 0 responses and 1 failures"
info={'required_responses': 1, 'received_responses': 0, 'failures': 1,
'consistency': 'LOCAL_ONE'}
I system.log Cassandra pokazuje ten błąd:
ERROR [SharedPool-Worker-1] 2016-05-09 15:33:58,872 StorageProxy.java:1818 -
Scanned over 100001 tombstones during query 'SELECT * FROM xrem.component_readings
WHERE park_id, component_id = 2, 479 AND date >= 2016-04-09 02:00+0200 AND date <=
2016-05-08 02:00+0200 LIMIT 5000' (last scanned row partion key was ((2, 479),
2016-05-04 17:30+0200)); query aborted
Najdziwniejsze jest to, że pojawia się błąd tylko Dokonując zapytania z zewnętrznego program (za pomocą pythassu-konektora). Jeśli zrobię to bezpośrednio w powłoce cqlsh, działa idealnie.
Moja instalacja była cassandra 2.2, ale zaktualizowałem ją do wersji 3.5 i otrzymuję ten sam błąd.
co się stanie, jeśli ustawisz poziom spójności na kworum w żądaniu? – Whitefret
Ten sam problem: 'cassandra.ReadFailure: kod = 1300 [Replika nie wykonała odczytu] message =" Operacja nie powiodła się - odebrano 0 odpowiedzi i 1 błąd "info = {'received_responses': 0," awaria ": 1, "required_responses": 1, 'consistency': 'QUORUM'} ' –
masz tylko jedną replikę? – Whitefret