Note that this is a read-time bug, there is no data loss involved.

Patch is committed with a new test to prevent future regressions.

I've asked Hudson (https://hudson.apache.org/hudson/job/Cassandra) to
create a new binary build with the patch included but the backlog is
long enough that I don't expect to see it before our next "nightly"
build.

We'll get 0.7.2 out quickly.

On Tue, Feb 15, 2011 at 12:15 PM, Sylvain Lebresne <sylv...@datastax.com> wrote:
> On Tue, Feb 15, 2011 at 7:10 PM, ruslan usifov <ruslan.usi...@gmail.com>
> wrote:
>>
>> It will be great if patch appear very quick
>
> patch attached here: https://issues.apache.org/jira/browse/CASSANDRA-2165
> Hoping this is quick enough.
>
>>
>> 2011/2/15 Jonathan Ellis <jbel...@gmail.com>
>>>
>>> I can reproduce with your script.  Thanks!
>>>
>>> 2011/2/15 Jonas Borgström <jonas.borgst...@trioptima.com>:
>>> > Hi all,
>>> >
>>> > While testing the new 0.7.1 release I got the following exception:
>>> >
>>> > ERROR [ReadStage:11] 2011-02-15 16:39:18,105
>>> > DebuggableThreadPoolExecutor.java (line 103) Error in
>>> > ThreadPoolExecutor
>>> > java.io.IOError: java.io.EOFException
>>> >        at
>>> >
>>> > org.apache.cassandra.db.columniterator.SSTableNamesIterator.<init>(SSTableNamesIterator.java:75)
>>> >        at
>>> >
>>> > org.apache.cassandra.db.filter.NamesQueryFilter.getSSTableColumnIterator(NamesQueryFilter.java:59)
>>> >        at
>>> >
>>> > org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:80)
>>> >        at
>>> >
>>> > org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1274)
>>> >        at
>>> >
>>> > org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1166)
>>> >        at
>>> >
>>> > org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1095)
>>> >        at org.apache.cassandra.db.Table.getRow(Table.java:384)
>>> >        at
>>> >
>>> > org.apache.cassandra.db.SliceByNamesReadCommand.getRow(SliceByNamesReadCommand.java:60)
>>> >        at
>>> >
>>> > org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:473)
>>> >        at
>>> > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
>>> >        at
>>> >
>>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>> >        at
>>> >
>>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>> >        at java.lang.Thread.run(Thread.java:636)
>>> > Caused by: java.io.EOFException
>>> >        at java.io.DataInputStream.readInt(DataInputStream.java:392)
>>> >        at
>>> >
>>> > org.apache.cassandra.utils.BloomFilterSerializer.deserialize(BloomFilterSerializer.java:48)
>>> >        at
>>> >
>>> > org.apache.cassandra.utils.BloomFilterSerializer.deserialize(BloomFilterSerializer.java:30)
>>> >        at
>>> >
>>> > org.apache.cassandra.io.sstable.IndexHelper.defreezeBloomFilter(IndexHelper.java:108)
>>> >        at
>>> >
>>> > org.apache.cassandra.db.columniterator.SSTableNamesIterator.read(SSTableNamesIterator.java:106)
>>> >        at
>>> >
>>> > org.apache.cassandra.db.columniterator.SSTableNamesIterator.<init>(SSTableNamesIterator.java:71)
>>> >        ... 12 more
>>> >
>>> > I'm able reliably reproduce this using the following one node cluster:
>>> > - apache-cassandra-0.7.1-bin.tar.gz
>>> > - Fedora 14
>>> > - java version "1.6.0_20".
>>> >  OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
>>> > - Default cassandra.yaml
>>> > - cassandra-env.sh: MAX_HEAP_SIZE="1G"; HEAP_NEWSIZE="200M"
>>> >
>>> > cassandra-cli initialization:
>>> > - create keyspace foo;
>>> > - use foo;
>>> > - create column family datasets;
>>> >
>>> > $ python dataset_check.py (attached)
>>> > Inserting row 0 of 10
>>> > Inserting row 1 of 10
>>> > Inserting row 2 of 10
>>> > Inserting row 3 of 10
>>> > Inserting row 4 of 10
>>> > Inserting row 5 of 10
>>> > Inserting row 6 of 10
>>> > Inserting row 7 of 10
>>> > Inserting row 8 of 10
>>> > Inserting row 9 of 10
>>> > Attempting to fetch key 0
>>> > Traceback (most recent call last):
>>> > ...
>>> > pycassa.pool.MaximumRetryException: Retried 6 times
>>> >
>>> > After this I have 6 EOFExceptions in system.log.
>>> > Running "get datasets[0]['name'];" using cassandra-cli also triggers
>>> > the
>>> > same exception.
>>> > I've not been able to reproduce this with cassandra 0.7.0.
>>> >
>>> > Regards,
>>> > Jonas
>>> >
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> Jonathan Ellis
>>> Project Chair, Apache Cassandra
>>> co-founder of DataStax, the source for professional Cassandra support
>>> http://www.datastax.com
>>
>
>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support
http://www.datastax.com

Reply via email to