2016-08-31 3 views
0

Ich habe ein Problem mit der Aktualisierung neuer Zähler in einem cf. Wenn ich die nächsten cql-Anweisungen (der spezifische Schlüssel ist neu) ausführen:Zähler werden in Cassandra nicht aktualisiert

UPDATE markerstats SET numbermarkers = numbermarkers + 1 WHERE projectid = 4 AND type = 'SNP'; 

Die Abfrage wird ohne Fehler ausgeführt. Und dann ausführen ich die nächste Abfrage:

SELECT * FROM markerstats 

ich nicht bekommen, die Zeile für den neuen aktualisierten Zähler. Ich habe versucht, den Datastax Java-Treiber, devcenter und auch direkt durch. Die Definition des cf ist:

CREATE TABLE markerstats (
    projectid bigint, 
    type text, 
    numbermarkers counter, 
    numberpartitions counter, 
    PRIMARY KEY ((projectid), type) 
) WITH 
    bloom_filter_fp_chance=0.010000 AND 
    caching='KEYS_ONLY' AND 
    comment='' AND 
    dclocal_read_repair_chance=0.000000 AND 
    gc_grace_seconds=864000 AND 
    index_interval=128 AND 
    read_repair_chance=0.100000 AND 
    replicate_on_write='true' AND 
    populate_io_cache_on_flush='false' AND 
    default_time_to_live=0 AND 
    speculative_retry='99.0PERCENTILE' AND 
    memtable_flush_period_in_ms=0 AND 
    compaction={'class': 'SizeTieredCompactionStrategy'} AND 
    compression={'sstable_compression': 'LZ4Compressor'}; 

Und ich bin mit zu Testzwecken eine cassandra (2.0.7) Einzelknoteninstanz.

Jeder hat eine Idee von was könnte das Problem sein?

ANMERKUNG: Ich habe zuvor in der cf eine DELETE-Anweisung ausgeführt

+0

'Ich habe früher in der cf eine DELETE statement' ausgeführt entfernt werden soll Was meinen Sie? Ob Sie eine Zeile für den Schlüssel 'projectid = 4 UND type =' SNP'' gelöscht haben und wieder versuchen, für denselben Schlüssel 'projectid = 4 AND type = 'SNP'' einzufügen? –

+0

Das Entfernen der Zähler ist nur für die endgültige Entfernung vorgesehen. (https://wiki.apache.org/cassandra/Counters) –

+0

@JayaAnanthram Genau ich spreche über ein Update gleich nach einer Entfernung – ftrujillo

Antwort

1

Dank der Hilfe der Kommentare in den Fragen, die ich verwalten könnten die Zähler wieder herzustellen, die durch gelöscht wurden: die Aktualisierung der gc_grace_seconds des cf 0 und führen eine große Verdichtung auf dem Tisch.

Quelle: http://grokbase.com/t/cassandra/user/14a9988tww/deleting-counters

Sieht aus wie die Beschränkung auf die Wiederverwendung Zähler nach dem Löschen sie in irgendeiner 3. * Version (https://issues.apache.org/jira/browse/CASSANDRA-9810)

Verwandte Themen