2014-10-28 13 views
7

So che la rimozione anticipata delle pietre tombali è pericolosa perché può far risorgere i dati cancellati, ma se tutte le repliche hanno confermato la cancellazione, tale rimozione dovrebbe essere sicura. Ad esempio, se una tabella ha il fattore di replicazione 3 e tutti e 3 i nodi che contengono la chiave hanno confermato che hanno la pietra tombale appropriata, dovrebbe essere sicuro eseguire una compattazione in cui vengono rimosse le pietre tombali perché non ci sarebbero copie persistenti dei dati .C'è un modo per far sì che Cassandra rimuova in modo sicuro le pietre tombali * prima che sia scaduto * gc_grace_seconds?

È possibile rimuovere in modo sicuro le lapidi in Cassandra?

avrei preferito impostare gc_grace_seconds all'infinito e si basano su questo tipo di compattazione sicura dei lapidi che preoccuparsi i tempi di nodetool repair e gc_grace_seconds.

risposta

2

No, non è possibile rimuovere le pietre tombali senza modificare gc_grace_seconds.

Ci sono operazioni in cui tutte e 3 le repliche possono prelevare la pietra tombale, rimuoverla, quindi averne bisogno in seguito. Considerare il caso in cui è necessario eseguire lo streaming di un precedente SSTable in un cluster.

Questo tipo di rimozione manuale delle pietre tombali sarà notevolmente peggiore in termini di prestazioni poiché lo farete solo periodicamente anziché costantemente. Leggerete inutilmente dati extra e compattate costantemente lapidi che dovrebbero essere rimosse.

Il mio consiglio è di impostare il vostro gc_grace_seconds su qualcosa di ragionevole (10 giorni va bene) e pianificare le riparazioni usando opscenter o cassandra-mietitrice.

Problemi correlati