2017-01-24 5 views
1

Ich bin eine Spalte Familie in cassandra mit Standard-TTL- als 3.024.000 (35 Tage) hat, ist Verdichtungsstrategie LCS und Tabellenstruktur ist so etwas wie diesesCassandra TTL automatisch geändert

CREATE TABLE xyz (
logdate text, 
cookieid text, 
count1 int, 
count2 int, 
count3 int, 
PRIMARY KEY (logdate, cookieid) 
) WITH CLUSTERING ORDER BY (cookieid ASC) 

aber wenn ich die Überprüfung der ttl von 35 alten Tagen Daten zeigt es immer noch 20 Tage Ich verstehe nicht, warum das passiert. Hat jemand eine Idee dazu? Liegt das an der Verdichtung?

Antwort

2

Dies könnte passieren, wenn Sie dieselbe Zeile erneut eingefügt haben.

Zum Beispiel

INSERT INTO XYZ VALUES(100,..........some value) -- lets say inserted 10 days back. 

Wenn die Zeile nicht wieder eingeführt wird, die TTl konnte 25 Tage haben gezeigt, aber was passiert hatte könnte, ist die Reihe wieder eingefügt wird.

INSERT INTO XYZ VALUES(100,..........some other value) -- lets say inserted 5 days back. 

Die TTL beträgt 30 Tage.

Der TTL-Wert wird bei jedem Einfügen der Zeile zurückgesetzt (gleicher Zeilenschlüssel).

+0

Ja, das ist wahr, aber ich habe nie wieder meine Daten eingefügt – deenbandhu

+0

Ich sehe keinen anderen Grund, Ihre Datumsspalte (die Partition Key ist), wie berechnen Sie das? – Gunwant

+0

Dies wird aus der Anwendung berechnet. Anwendung setzt es gleich dem aktuellen Datum – deenbandhu

Verwandte Themen