2016-01-15 9 views
6

टीएल; डी मैंने इस मुद्दे को कैसंद्रा 3.2 में अपग्रेड किया। This bug स्पष्ट रूप से समस्या का कारण बन रहा था।कैसंद्रा पढ़ने में त्रुटि


मैं संस्करणों [cqlsh 5.0.1 | Cassandra 3.0.1 | CQL spec 3.3.1 | Native protocol v4] साथ कैसेंड्रा के दो-नोड क्लस्टर चल रहा हूँ।

cqlsh:kepler> select type from md_data limit 1; 
Traceback (most recent call last): 
    File "/local/chernals/dsc-cassandra-3.0.1/bin/cqlsh.py", line 1258, in perform_simple_statement 
    result = future.result() 
    File "/local/chernals/dsc-cassandra-3.0.1/bin/../lib/cassandra-driver-internal-only-3.0.0-6af642d.zip/cassandra-driver-3.0.0-6af642d/cassandra/cluster.py", line 3122, in result 
    raise self._final_exception 
ReadFailure: code=1300 [Replica(s) failed to execute read] message="Operation failed - received 0 responses and 1 failures" info={'failures': 1, 'received_responses': 0, 'required_responses': 1, 'consistency': 'ONE'} 

मैं बिना किसी समस्या के अन्य तालिकाओं पढ़ सकते हैं:

एक मेज है कि मैं नहीं पढ़ सकते हैं नहीं है, मैं निम्न त्रुटि है।

कि तालिका के स्कीमा है:

CREATE TABLE kepler.md_data (
    name text, 
    tag text, 
    id timeuuid, 
    parameter frozen<parameter>, 
    blob_value blob, 
    real_value float, 
    telegram map<text, text> static, 
    text_value text, 
    type text, 
    PRIMARY KEY ((name, tag, id), parameter) 
) WITH CLUSTERING ORDER BY (parameter ASC) 
    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 crc_check_chance = 1.0 
    AND dclocal_read_repair_chance = 0.1 
    AND default_time_to_live = 0 
    AND gc_grace_seconds = 864000 
    AND max_index_interval = 2048 
    AND memtable_flush_period_in_ms = 0 
    AND min_index_interval = 128 
    AND read_repair_chance = 0.0 
    AND speculative_retry = '99PERCENTILE'; 
CREATE INDEX parameter_idx ON kepler.md_data (parameter); 

वहाँ इस तरह के एक स्कीमा के साथ कुछ मुद्दों और मैं चल रहा हूँ कैसेंड्रा/cqlsh के विभिन्न संस्करणों होगा?

ध्यान दें कि जब तालिका खाली होती है तो मैं इसे "पढ़ सकता हूं" (यह खाली है लेकिन चयन कथन सफल होता है)।

संपादित:

सुपर अजीब समस्या के रूप में मैं यह सब समय के पुनरुत्पादन एक कठिन समय हो रही है। मैं केवल 1 नोड के साथ एक परीक्षण सेटअप में चले गए। ऐसा लगता है कि तालिका में मौजूद पंक्तियों की संख्या से जुड़ा हुआ है।

cqlsh:kepler> select type from md_data; 
Traceback (most recent call last): 
    File "/local/chernals/dsc-cassandra-3.0.1/bin/cqlsh.py", line 1258, in perform_simple_statement 
    result = future.result() 
    File "/local/chernals/dsc-cassandra-3.0.1/bin/../lib/cassandra-driver-internal-only-3.0.0-6af642d.zip/cassandra-driver-3.0.0-6af642d/cassandra/cluster.py", line 3122, in result 
    raise self._final_exception 
ReadFailure: code=1300 [Replica(s) failed to execute read] message="Operation failed - received 0 responses and 1 failures" info={'failures': 1, 'received_responses': 0, 'required_responses': 1, 'consistency': 'ONE'} 

cqlsh:kepler> TRUNCATE TABLE md_data; 
cqlsh:kepler> select type from md_data; 

name | tag | id | parameter | blob_value | real_value | telegram | text_value | type 
------+-----+----+-----------+------------+------------+----------+------------+------ 

(0 rows) 
cqlsh:kepler> 

संपादित करें: कैसेंड्रा से त्रुटि संदेश -f

WARN 11:07:00 Uncaught exception on thread Thread[SharedPool-Worker-3,5,main]: {} 
java.lang.AssertionError: null 
    at org.apache.cassandra.db.columniterator.AbstractSSTableIterator$IndexState.updateBlock(AbstractSSTableIterator.java:463) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.db.columniterator.SSTableIterator$ForwardIndexedReader.computeNext(SSTableIterator.java:268) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.db.columniterator.SSTableIterator$ForwardReader.hasNextInternal(SSTableIterator.java:158) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.db.columniterator.AbstractSSTableIterator$Reader.hasNext(AbstractSSTableIterator.java:352) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.db.columniterator.AbstractSSTableIterator.hasNext(AbstractSSTableIterator.java:219) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.db.columniterator.SSTableIterator.hasNext(SSTableIterator.java:32) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:108) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:131) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:87) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:77) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.db.partitions.UnfilteredPartitionIterators$Serializer.serialize(UnfilteredPartitionIterators.java:298) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.db.ReadResponse$LocalDataResponse.build(ReadResponse.java:136) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.db.ReadResponse$LocalDataResponse.<init>(ReadResponse.java:128) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.db.ReadResponse$LocalDataResponse.<init>(ReadResponse.java:123) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.db.ReadResponse.createDataResponse(ReadResponse.java:65) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.db.ReadCommand.createResponse(ReadCommand.java:289) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1721) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2375) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_66] 
    at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164) ~[apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$TraceSessionFutureTask.run(AbstractTracingAwareExecutorService.java:136) [apache-cassandra-3.0.1.jar:3.0.1] 
    at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [apache-cassandra-3.0.1.jar:3.0.1] 
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_66] 
+0

1. क्या आपने गैर-खाली तालिका पर चयन क्वेरी करते समय संभावित त्रुटि देखने के लिए कैसंड्रा (/var/log/cassandra/system.log) की लॉग फ़ाइलों को देखा था? 2. क्या आप cqlsh संस्करण का उपयोग कर रहे हैं जो आपके कैसंड्रा सर्वर या किसी अन्य संस्करण के साथ भेज दिया गया है? – doanduyhai

+0

हां, 'tail -f logs/system.log' असफल क्वेरी करने पर कुछ भी नहीं दिखाता है। मैं 'cqlsh' के संस्करण का उपयोग कर रहा हूं जो कैसंड्रा 3 के साथ भेज दिया गया है। वही समस्या नवीनतम पायथन ड्राइवर के साथ भी दिखाई देती है। यह वास्तव में ऐसा लगता है कि परीक्षण डेटा के साथ अपने डेटा को पॉप्युलेट करते समय कुछ "दहलीज" है: यह किसी बिंदु पर काम करता है और फिर यह विफल हो जाता है। क्या यह हो सकता है कि कुछ ब्लब्स कैसंद्रा को भ्रमित कर रहे हैं? जब वह तालिका "विफल हो जाती है" तो अन्य अभी भी ठीक हैं। –

+0

मुझे लगता है कि यह यह लड़का है: https://issues.apache.org/jira/browse/CASSANDRA-10903 –

उत्तर

2

मैं इस मुद्दे कैसेंड्रा 3.2 के उन्नयन को हल किया। This bug स्पष्ट रूप से समस्या का कारण बन रहा था।

+1

क्या आप वास्तव में तालिका में कुछ डेटा डालने का प्रयास करते थे? 3.0 और 3.2 में इसे पुन: उत्पन्न करने का प्रयास करते समय मुझे एक अलग त्रुटि मिली, [CASSANDRA-11021] (https://issues.apache.org/jira/browse/CASSANDRA-11021) –

+0

मुझे वास्तव में समस्या भी है। .. :( –

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