2011-06-28 8 views
8

byłbym wdzieczny gdyby wyrafinowany użytkownik może wymienić wszystkie możliwe rozwiązania (dobre praktyki), jak naprawić Hector Client limitów czasu tak:Cassandra/Hector Timeouts = Co robić?

Caused by: me.prettyprint.hector.api.exceptions.HTimedOutException: TimedOutException() 


Caused by: TimedOutException() 
    at org.apache.cassandra.thrift.Cassandra$multiget_slice_result.read(Cassandra.java:9628) 
    at org.apache.cassandra.thrift.Cassandra$Client.recv_multiget_slice(Cassandra.java:636) 
    at org.apache.cassandra.thrift.Cassandra$Client.multiget_slice(Cassandra.java:608) 
    at me.prettyprint.cassandra.service.KeyspaceServiceImpl$10.execute(KeyspaceServiceImpl.java:388) 
    ... 21 more 

HECTOR: Zrobione z Dokumentacją Hector

: https : //github.com/rantav/hector/wiki/User-Guide

znalazłem następujące informacje dotyczące limitów czasu:

1.) cassandraThriftSocketT imeout

Cassandra:

1.) rpc_timeout_in_ms: 10000 (w cassandra.yaml)

Jakie inne ustawienia są dostępne związane limity czasu zarówno na Hektora i na stronie Cassandra? Mam czas! Więc po prostu chcę poczekać dłużej! Ale nie znalazłem ustawień, aby czekać dłużej.

Dzięki Markus

+0

Do wykorzystania w przyszłości, czy korzystasz z uporządkowanej lub przypadkowej partycjonowania? Ponieważ widzę, że korzystasz z multiget_slice, to nie zakładam też używania Secondary Indexes? – HeyWatchThis

Odpowiedz

5

Od API cassandra.thrift w drzewie źródłowym Cassandra dotyczące TimeoutException.

„Timeout RPC została przekroczona albo węzeł udało połowy operacja, czy obciążenie było zbyt wysokie, lub żądane op było zbyt duże. "

Krótko mówiąc, prosiłeś o zbyt wiele danych. Jakie pytanie wysłałeś? Czy możesz opublikować fragment kodu takiego?

+0

hello zznate. Dziękuję bardzo za odpowiedź! Co próbuję zrobić, to wysyłanie zapytań i wysyłanie partii 100 rekordów/wierszy: Każdy rekord ma około 15 kolumn, a całkowity rozmiar w pamięci każdego rekordu wynosi około 1 KB. To jest śmiesznie niska ilość danych. Jedyną rzeczą jest to, że działa na moim środowisku Windows Dev i Windows robi dużo stronicowania, więc wydaje się, że Cassandra jest po prostu zajęta. Ale patrząc na "logi" Cassandry (konsola Windows), Garbage Collection znajduje się w przedziale milisekundowym ... Nie widziałem żadnych informacji o zagęszczeniach w dziennikach (?) ... Spróbuję dalej ... – Markus

+1

Miej oko na wykorzystanie IO i pamięci w połączeniu z "nodetool cfstats" (zwracając szczególną uwagę na "Read Latency" i "Write Latency"), a to powinno dać ci więcej informacji na temat tego, gdzie znaleźć szyjkę butelki. Jeśli wydaje się, że jest to nadmierne stronicowanie, spróbuj również zmniejszyć rozmiar sterty i zadane progi. – zznate