自分用メモです。内容は随時追記します。
compaction がやたら重い
状況
- 特定の partition key における columns サイズが大きいのが怪しい
対応
- partition key を細かく分割できるよう、テーブル(columnfamily)の設計を変更する
- サイズ感としては
100k columns/partition key
and100MB/partition key
- 怪しいテーブルを見つけるにはログを漁る。
$ grep 'Compacting large row' /var/log/cassandra/system.log
クエリがタイムアウトする
状況
-
Request did not complete within rpc_timeout.
が出て結果が返ってこない - 特定の row のみで発生する。その row を外せば正常にレスポンスを取得可
=> 特定の row が破損している可能性が高い
対応
$ sudo nodetool scrub {keyspace} {table_name}
参考
replication factor を調べる
cqlsh> SELECT * FROM system.schema_keyspaces;