2010-06-05 3 views
10

पंक्ति नहीं अगर मैं remove(key) का उपयोग कर db एक कैसेंड्रा में एक ColumnFamily में हर कुंजियां हटाएं हटाएं, तब अगर मैं get_range_slices उपयोग करते हैं, पंक्तियों अभी भी वहाँ है, लेकिन स्तंभों के बिना कर रहे हैं। मैं पूरी पंक्तियों को कैसे हटा सकता हूं?जब मैं कैसेंड्रा में पंक्तियों को दूर मैं केवल कॉलम कुंजी

उत्तर

-3

बस एक ही समस्या आ गई और मैंने पाया है कि:

यह 0.7 (https://issues.apache.org/jira/browse/CASSANDRA-1027) में तय किया गया है। और 0.6.3

बैकपोर्टेड यह भी प्रासंगिक है: https://issues.apache.org/jira/browse/CASSANDRA-494

+4

-1 यह "निश्चित" नहीं किया गया है, टिकट अभी "हल हो गया है" और संकल्प "[शायद यह बाद में]" है। @ शिलडेमेजर के जवाब के अनुसार, यह एक बग के विपरीत व्यवहार की उम्मीद है। – user359996

+0

सहमत! नीचे प्रतिक्रिया देखें। –

6

Why do deleted keys show up during range scans?

क्योंकि get_range_slice कहते हैं, "पंक्तियों की सीमा दी को यह विधेय लागू होते हैं," अर्थ, अगर विधेय परिणाम खाली है, हम उस पंक्ति कुंजी के लिए एक खाली परिणाम शामिल करने के लिए की है। कुछ या सभी कुंजियों के लिए रिक्त कॉलम सूचियों को लौटने वाली ऐसी क्वेरी करने के लिए यह पूरी तरह से मान्य है, भले ही कोई विलोपन नहीं किया गया हो।

+0

धन्यवाद और वहाँ है कि से बचने के लिए कोई समाधान नहीं है? – Matroska

+2

http://wiki.apache.org/cassandra/DistributedDeletes के अनुसार, मकबरे को हर जीसीजी्रेस सेकेंड को साफ़ कर दिया जाता है, जो डिफ़ॉल्ट रूप से 10 दिन होता है। GCGraceSeconds एक असफल नोड बैक अप और चलने के लिए आपको कभी भी अधिकतम समय लेना चाहिए। एक सिंगल उदाहरण के लिए, आप GCGraceSeconds को 0 पर सेट कर सकते हैं, और फिर टॉम्बस्टोन स्वचालित रूप से हटा दिए जाएंगे। –

1

मैं कैसेंड्रा 0.63 के साथ परीक्षण किया और समस्या अभी भी एक ही है। मुझे नहीं लगता कि बग फिक्स हटाए गए पंक्ति आईडी से छुटकारा पाने के लिए है। अधिक जानकारी के लिए

http://wiki.apache.org/cassandra/FAQ#range_ghosts

देखें।

4

कैसंद्रा अपेक्षित रूप से वितरित Deletes का उपयोग करता है।

इस प्रकार, एक हटाने आपरेशन सिर्फ डेटा के सभी निशान मिटा नहीं कर सकते हैं तुरंत हटाया जा रहा: अगर हम किया था, और एक प्रतिकृति प्राप्त नहीं किया हटाने आपरेशन, जब यह उपलब्ध हो जाता है इसे फिर से व्यवहार करेगा प्रतिकृतियां जिन्हें हटाया गया था, अद्यतन को याद करने के रूप में हटाएं, और उन्हें सुधारें! तो, हटाए जाने पर डेटा को मिटाए जाने के बजाय, कैसंद्रा इसे एक विशेष मूल्य के साथ बदलता है जिसे टॉम्बस्टोन कहा जाता है। टॉम्बस्टोन को तब प्रतिकृतियों के लिए प्रचारित किया जा सकता है जो शुरुआती अनुरोध को हटा देते हैं।

http://wiki.apache.org/cassandra/DistributedDeletes

संबंधित मुद्दे