web-dev-qa-db-fra.com

Cassandra échec lors de la lecture de la requête à la cohérence LOCAL_ONE (1 réponses étaient requises mais seul le réplica a répondu, 1 échec)

Ci-dessous mon script

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;  

quand je lance cette requête je reçois 

Cassandra échec lors de la lecture de la requête à la cohérence LOCAL_ONE (1 réponses étaient requises mais seule 0 réplique a répondu, 1 échec) error

Voici ma requête de cassandra en 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
4
Prasanna Wani

Cette erreur nous avait fait prendre conscience de l'existence d'un problème d'espace, le stockage d'images dans Base64 dans chaque rangée avait rapidement provoqué l'apparition du problème Tombstone.

Selon ce post ,

Cassandra ne se contente pas de parcourir les rangées, elle doit également les accumuler en mémoire pendant la préparation de la réponse. Cela peut provoquer une erreur de mémoire insuffisante sur le nœud si les choses vont trop loin et Si plusieurs nœuds traitent la demande, cela peut même entraîner une multiplication de échec faisant tomber toute la grappe. Pour éviter que cela ne se produise, le service abandonne la requête s'il détecte un nombre dangereux de pierres tombales .

1
James Marino