web-dev-qa-db-ja.com

Cassandra整合性LOCAL_ONEでの読み取りクエリ中に失敗しました(1つの応答が必要でしたが、0のレプリカのみが応答し、1つが失敗しました)

以下は私のスクリプトです

CREATE TABLE alrashed.tbl_alerts_details (
    alert_id int,
    action_required int,
    alert_agent_id int,
    alert_agent_type_id int,
    alert_agent_type_name text,
    alert_definer_desc text,
    alert_definer_name text,
    alert_source text,
    alert_state text,
    col_1 text,
    col_2 text,
    col_3 text,
    col_4 text,
    col_5 text,
    current_escalation_level text,
    date_part date,
    device_id text,
    driver map<text, text>,
    is_processed int,
    is_real_time int,
    location map<text, text>,
    seq_no int,
    severity text,
    time_stamp timestamp,
    transporter map<text, text>,
    transporter_name text,
    trip_id int,
    updated_on timestamp,
    vehicle map<text, text>,
    vehicle_type_name text,
    PRIMARY KEY (alert_id)
    ) WITH read_repair_chance = 0.0
    AND dclocal_read_repair_chance = 0.1
    AND gc_grace_seconds = 864000
    AND bloom_filter_fp_chance = 0.01
    AND caching = { 'keys' : 'ALL', 'rows_per_partition' : 'NONE' }
    AND comment = ''
    AND compaction = { 'class' : 'org.Apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold' : 32, 'min_threshold' : 4 }
    AND compression = { 'chunk_length_in_kb' : 64, 'class' : 'org.Apache.cassandra.io.compress.LZ4Compressor' }
    AND default_time_to_live = 0
    AND speculative_retry = '99PERCENTILE'
    AND min_index_interval = 128
    AND max_index_interval = 2048
    AND crc_check_chance = 1.0;  

このクエリを実行すると、次のようになります。

整合性LOCAL_ONEでの読み取りクエリ中のCassandraの失敗(1つの応答が必要でしたが、0のレプリカのみが応答し、1つが失敗しました)エラー

これが私のcassandra Javaでのクエリです:

select
  count( * )
from
  tbl_alerts_details
where
  alert_state = 'ACKNOWLEDGE'
  and date_part >= '2017-10-01'
  and date_part <= '2017-10-31'
  and is_real_time = 1
  and alert_agent_type_name = 'VEHICLE' ALLOW FILTERING
5
Prasanna Wani

このエラーにより、スペースの問題が発生しました。Base64のすべての行に画像を保存すると、すぐにTombstoneの問題が発生しました。

このように post

Cassandraは行をスキャンするだけでなく、応答を準備する間、行をメモリに蓄積する必要があります。これにより、物事が行き過ぎた場合にノードでメモリ不足エラーが発生する可能性があり、複数のノードが要求を処理している場合は、クラスター全体がダウンする複数の障害が発生する可能性もあります。これを防ぐために、サービスは危険な数のトゥームストーンを検出するとクエリを中止します。

1
James Marino