Кассандра : CompactionExecutor, достигнуто максимальное использование памяти

#cassandra #datastax #datastax-enterprise

Вопрос:

Я обнаружил, что мое поглощение в ks.data таблицу Кассандры немного замедлилось (около 21 нескольких часов для 4 узлов и 340 GB ввода для поглощения).

Когда я проверяю журналы, у меня есть только это :

 INFO [CompactionExecutor:2608] 2021-10-27 17:02:12,954 NoSpamLogger.java:91 - Maximum memory usage reached (536870912), cannot allocate chunk of 1048576 INFO [CompactionExecutor:2608] 2021-10-27 17:22:21,716 NoSpamLogger.java:91 - Maximum memory usage reached (536870912), cannot allocate chunk of 1048576 INFO [CompactionExecutor:2614] 2021-10-27 17:42:43,567 NoSpamLogger.java:91 - Maximum memory usage reached (536870912), cannot allocate chunk of 1048576 INFO [CompactionExecutor:2617] 2021-10-27 18:02:41,808 NoSpamLogger.java:91 - Maximum memory usage reached (536870912), cannot allocate chunk of 1048576 INFO [CompactionExecutor:2619] 2021-10-27 18:22:29,340 NoSpamLogger.java:91 - Maximum memory usage reached (536870912), cannot allocate chunk of 1048576 INFO [CompactionExecutor:2625] 2021-10-27 18:41:40,535 NoSpamLogger.java:91 - Maximum memory usage reached (536870912), cannot allocate chunk of 1048576  

Когда я проверяю , выполняется ли какое-либо уплотнение, у nodetool compactionstats меня есть :

 pending tasks: 0  

Поэтому я проверяю историю с помощью nodetool compactionhistory :

 Compaction History: id keyspace_name columnfamily_name compacted_at bytes_in bytes_out rows_merged  1c75e3a0-3742-11ec-9857-214f2f58c37c ks data 2021-10-27T18:22:42.650 390473464 390484113 {1:16075}  7a6e9ea0-373f-11ec-9857-214f2f58c37c ks data 2021-10-27T18:03:51.818 1707027830 1707018031 {1:64370}  58a88830-373f-11ec-9857-214f2f58c37c ks data 2021-10-27T18:02:55.155 398950265 398960890 {1:16079}  8ea5f8d0-373c-11ec-9857-214f2f58c37c ks data 2021-10-27T17:42:57.245 424591552 424600397 {1:16090}  b66700b0-3739-11ec-9857-214f2f58c37c ks data 2021-10-27T17:22:35.451 432286657 432297374 {1:16098}   

Похоже, что каждый раз, когда система выполняет уплотнение таблицы ks.data , записывается информационный журнал с жалобами Maximum memory usage reached .

Поэтому я проверяю cfhistograms этот стол :

 Percentile SSTables Write Latency Read Latency Partition Size Cell Count  (micros) (micros) (bytes) 50% 0.00 105.78 0.00 545791 1 75% 0.00 105.78 0.00 545791 1 95% 0.00 126.93 0.00 785939 1 98% 0.00 126.93 0.00 785939 1 99% 0.00 152.32 0.00 785939 1 Min 0.00 73.46 0.00 219343 0 Max 0.00 182.79 0.00 785939 1  

и cfstats :

 Keyspace : ks  Read Count: 227  Read Latency: 84.00625550660794 ms  Write Count: 2888271  Write Latency: 0.07958705813962748 ms  Pending Flushes: 0  Table: data  SSTable count: 20  Space used (live): 1112974882377  Space used (total): 1112974882377  Space used by snapshots (total): 0  Off heap memory used (total): 249968759  SSTable Compression Ratio: 0.5526821933214058  Number of partitions (estimate): 4084058  Memtable cell count: 3982  Memtable data size: 2818857176  Memtable off heap memory used: 0  Memtable switch count: 560  Local read count: 0  Local read latency: NaN ms  Local write count: 2888274  Local write latency: 0.107 ms  Pending flushes: 0  Percent repaired: 1.72  Bloom filter false positives: 0  Bloom filter false ratio: 0.00000  Bloom filter space used: 3264744  Bloom filter off heap memory used: 3264584  Index summary off heap memory used: 961935  Compression metadata off heap memory used: 245742240  Compacted partition minimum bytes: 219343  Compacted partition maximum bytes: 785939  Compacted partition mean bytes: 539117  Average live cells per slice (last five minutes): NaN  Maximum live cells per slice (last five minutes): 0  Average tombstones per slice (last five minutes): NaN  Maximum tombstones per slice (last five minutes): 0  Dropped Mutations: 22  

The data model is just a basic key/value :

 CREATE TABLE ks.data (  a int,  b int,  value blob,  PRIMARY KEY ((a, b)) ) WITH bloom_filter_fp_chance = 0.1  AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}  

Мне все кажется нормальным … а тебе ?

  • Считаете ли вы, что информационное сообщение на каждом уплотнении является нормальным ?
  • Указывает ли это на проблему с конфигурацией памяти ?

Спасибо