[jira] [Commented] (CASSANDRA-5965) IndexSummary load fails when empty key exists in summary

2013-09-03 Thread Daniel Meyer (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13756954#comment-13756954
 ] 

Daniel Meyer commented on CASSANDRA-5965:
-

Patch is good.  To repro the issue it is important to insert an empty string 
into an indexed column.  Leaving it null, will not cause a repro.

To repro:

CREATE TABLE cf (
  name text PRIMARY KEY,
  val1 text,
  val2 text
) 

CREATE INDEX cf_val2_idx ON cf (val2);
INSERT INTO (name, val1, val2) VALUES ('dmeyer', 'testval', '');

Then run:
nodetool rebuild index ks cf cf.cf_val2_idx
flush
restart node
Observe the ERROR in system.log
After applying the patch and building and reproducing the above procedure the 
error did not occur.

 IndexSummary load fails when empty key exists in summary
 

 Key: CASSANDRA-5965
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5965
 Project: Cassandra
  Issue Type: Bug
Reporter: Yuki Morishita
Assignee: Yuki Morishita
 Fix For: 1.2.10

 Attachments: 0001-Add-IndexSummary-test.patch, 5965-1.2.txt


 IndexSummary load fails with the following error when empty key is added to 
 summary:
 {code}
 ERROR [SSTableBatchOpen:1] 2013-08-30 20:17:41,210 CassandraDaemon.java (line 
 192) Exception in thread Thread[SSTableBatchOpen:1,5,main]
 java.lang.AssertionError
 at 
 org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:401)
 at 
 org.apache.cassandra.io.sstable.IndexSummary$IndexSummarySerializer.deserialize(IndexSummary.java:124)
 at 
 org.apache.cassandra.io.sstable.SSTableReader.loadSummary(SSTableReader.java:491)
 at 
 org.apache.cassandra.io.sstable.SSTableReader.load(SSTableReader.java:388)
 at 
 org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:198)
 at 
 org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:157)
 at 
 org.apache.cassandra.io.sstable.SSTableReader$1.run(SSTableReader.java:262)
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
 at java.util.concurrent.FutureTask.run(FutureTask.java:166)
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
 at java.lang.Thread.run(Thread.java:724)
 {code}
 I think this is typically caused by indexing empty column, and then the key 
 in index columnfamily is added to its IndexSummary.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-5965) IndexSummary load fails when empty key exists in summary

2013-08-30 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13755384#comment-13755384
 ] 

Jonathan Ellis commented on CASSANDRA-5965:
---

+1

Also suggest adding a {{: length}} to the assert, which will make diagnosing 
such oversights easier in the future.

 IndexSummary load fails when empty key exists in summary
 

 Key: CASSANDRA-5965
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5965
 Project: Cassandra
  Issue Type: Bug
Reporter: Yuki Morishita
Assignee: Yuki Morishita
 Fix For: 1.2.10

 Attachments: 0001-Add-IndexSummary-test.patch, 5965-1.2.txt


 IndexSummary load fails with the following error when empty key is added to 
 summary:
 {code}
 ERROR [SSTableBatchOpen:1] 2013-08-30 20:17:41,210 CassandraDaemon.java (line 
 192) Exception in thread Thread[SSTableBatchOpen:1,5,main]
 java.lang.AssertionError
 at 
 org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:401)
 at 
 org.apache.cassandra.io.sstable.IndexSummary$IndexSummarySerializer.deserialize(IndexSummary.java:124)
 at 
 org.apache.cassandra.io.sstable.SSTableReader.loadSummary(SSTableReader.java:491)
 at 
 org.apache.cassandra.io.sstable.SSTableReader.load(SSTableReader.java:388)
 at 
 org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:198)
 at 
 org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:157)
 at 
 org.apache.cassandra.io.sstable.SSTableReader$1.run(SSTableReader.java:262)
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
 at java.util.concurrent.FutureTask.run(FutureTask.java:166)
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
 at java.lang.Thread.run(Thread.java:724)
 {code}
 I think this is typically caused by indexing empty column, and then the key 
 in index columnfamily is added to its IndexSummary.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira