Анализ на журнала за отстраняване на грешки на Cassandra

Имам cassandra debug.log. Има много SELECT * заявки, които не се задействат от нито едно приложение. Приложенията изискват конкретни полета в SELECT заявките, също така заявките изглежда имат LIMIT 5000 клауза, която съм почти сигурен, че я няма в нито едно приложение. Тези заявки вътрешно ли се изстрелват от cassandra? Регистърът за отстраняване на грешки е пълен с такива заявки. Приложението използва gocql драйвер за свързване с cassandra.

<SELECT * FROM table_name WHERE id = 0 LIMIT 5000>, was slow 45 times: avg/min/max 4969/4925/4996 msec - slow timeout 500 msec/cross-node
DEBUG [ScheduledTasks:1] 2021-01-14 18:02:33,271 MonitoringTask.java:152 - 160 operations timed out in the last 5004 msecs:
<SELECT * FROM table_name WHERE id = abcd LIMIT 5000>, total time 7038 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = efgh LIMIT 5000>, total time 5793 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = hijk LIMIT 5000>, total time 5289 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = lmnop LIMIT 5000>, total time 5826 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = qrst LIMIT 5000>, total time 6006 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = uvwx LIMIT 5000>, total time 5905 msec, timeout 5000 msec/cross-node
<SELECT * FROM table_name WHERE id = yzabc LIMIT 5000>, total time 5217 msec, timeout 5000 msec/cross-node 
.
..
....
.....
... (110 were dropped)

person guru107    schedule 14.01.2021    source източник


Отговори (1)


Всички тези заявки идват от вашето приложение. Те не се правят от Касандра.

Тези съобщения от MonitoringTask се регистрират от функция в Cassandra 3.10+, наречена бавно регистриране на заявки (CASSANDRA- 12403). Вече го обясних в тази публикация -- https://community.datastax.com/questions/7835/.

Бавното регистриране на заявки събира заявки, които са отнели повече от slow_query_log_timeout_in_ms (по подразбиране е 500 ms) в групи от 5-секундни прозорци. Като част от агрегацията колоните не се изброяват в регистрирането и вместо това се заменят със звездичка (*), така че да могат лесно да бъдат групирани.

Освен това драйверите имат активиран пейджинг. Когато приложението ви не задава размер на страницата, драйверите по подразбиране са с размер на страницата 5000 (LIMIT 5000). Това е ограничението, което се регистрира в съобщението за бавна заявка, което сте публикували. наздраве!

person Erick Ramirez    schedule 15.01.2021