You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by "Desimpel, Ignace" <Ig...@nuance.com> on 2011/04/20 13:00:52 UTC
Different result after restart
Cassandra version 0.7.4
Hi,
I'm storing (no deletion) in a small test some records to an embedded
Cassandra instance.
Then I connect using Thrift and I can retrieve the data as excepted.
Then I restart the server with the embedded Cassandra, reconnect using
Thrift but now the same query gives me no results at all.
After restart the commitlog directory get cleared leaving only a small
log and a small log.header file. The data directory for the keyspace is
still present together with the db files corresponding the column
families.
Any idea what I would be doing wrong here?
Ignace
RE: Different result after restart
Posted by "Desimpel, Ignace" <Ig...@nuance.com>.
Aaron,
Already found out what the problem was. I was using an AbstractType
comparator for a column family. That code was changing the given
ByteBuffer position and was not supposed to do that (Hinted by Sylvain
Lebresne !).
Anyway, after correcting that problem I got back the results as before.
Still don't grasp how this relates to the restart of the server, but
I'am happy as is.
Thanks very much Aaron!
Ignace
From: aaron morton [mailto:aaron@thelastpickle.com]
Sent: Wednesday, April 20, 2011 1:40 PM
To: user@cassandra.apache.org
Subject: Re: Different result after restart
Checking the simple things first, are you using the
o.a.c.service.EmbeddedCassandraService or the o.a.c.EmbeddedServer in
the unit test directory ? The later deletes data, but it does not sound
like you are using it.
When the server starts it should read any commit logs, roll them forward
and then flush all the changes to SSTables. Which will result in the log
files been deleted from disk, and you should see INFO level log messages
that say "Discarding obsolete commit log:..."
Do you get new SSTables written at start up ?
If you wanted to confirm the data was there take a look at
bin/sstable2json
Hope that helps.
Aaron
On 20 Apr 2011, at 23:00, Desimpel, Ignace wrote:
Cassandra version 0.7.4
Hi,
I'm storing (no deletion) in a small test some records to an embedded
Cassandra instance.
Then I connect using Thrift and I can retrieve the data as excepted.
Then I restart the server with the embedded Cassandra, reconnect using
Thrift but now the same query gives me no results at all.
After restart the commitlog directory get cleared leaving only a small
log and a small log.header file. The data directory for the keyspace is
still present together with the db files corresponding the column
families.
Any idea what I would be doing wrong here?
Ignace
RE: Different result after restart
Posted by "Desimpel, Ignace" <Ig...@nuance.com>.
I'm using the org.apache.cassandra.thrift.CassandraDeamon
implementation. I have done the same with version 0.6.x but now modified
the code for version 0.7.4. I could restart without problem in 0.6.x.
I get (did not add them all) the following messages :
(Keyspace is 'SearchSpace', CF names like 'ReverseStringValues'
'ReverseLabelValues' , "Structure', ... )
2011-04-20 12:27:48 INFO AbstractCassandraDaemon - Logging initialized
2011-04-20 12:27:48 INFO AbstractCassandraDaemon - Heap size:
10719985664/10719985664
2011-04-20 12:27:48 WARN CLibrary - Obsolete version of JNA present;
unable to register C library. Upgrade to JNA 3.2.7 or later
2011-04-20 12:27:48 INFO DatabaseDescriptor - Loading settings from
file:C:/develop/configs/AnnotationServer7/properties/cassandra.yaml
2011-04-20 12:27:48 INFO DatabaseDescriptor - DiskAccessMode 'auto'
determined to be mmap, indexAccessMode is mmap
...
2011-04-20 12:27:49 INFO CommitLogSegment - Creating new commitlog
segment ../cassandra/dbcommitlog\CommitLog-1303295269011.log
2011-04-20 12:27:49 INFO CommitLog - Replaying
..\cassandra\dbcommitlog\CommitLog-1303294884815.log
2011-04-20 12:27:54 INFO CommitLog - Finished reading
..\cassandra\dbcommitlog\CommitLog-1303294884815.log
2011-04-20 12:27:54 INFO ColumnFamilyStore - Enqueuing flush of
Memtable-ReverseStringValues@249550264(8519832 bytes, 189992 operations)
2011-04-20 12:27:54 INFO Memtable - Writing
Memtable-ReverseStringValues@249550264(8519832 bytes, 189992 operations)
2011-04-20 12:27:54 INFO ColumnFamilyStore - Enqueuing flush of
Memtable-ReverseLabelValues@1617914474(1339548 bytes, 31894 operations)
2011-04-20 12:27:54 INFO Memtable - Writing
Memtable-ReverseLabelValues@1617914474(1339548 bytes, 31894 operations)
2011-04-20 12:27:55 INFO ColumnFamilyStore - Enqueuing flush of
Memtable-ForwardLabelValues@1924550782(1339548 bytes, 31894 operations)
2011-04-20 12:27:55 INFO Memtable - Writing
Memtable-ForwardLabelValues@1924550782(1339548 bytes, 31894 operations)
...
2011-04-20 12:27:58 INFO CommitLog - Log replay complete
....
2011-04-20 12:27:57 INFO CompactionManager - Compacting
[SSTableReader(path='..\cassandra\dbdatafile\SearchSpace\Structure-f-1-D
ata.db'),SSTableReader(path='..\cassandra\dbdatafile\SearchSpace\Structu
re-f-2-Data.db')]
...
2011-04-20 12:27:57 INFO ColumnFamilyStore - Enqueuing flush of
Memtable-ReverseDoubleValues@1985313813(56946 bytes, 1265 operations)
2011-04-20 12:27:57 INFO Memtable - Writing
Memtable-ReverseDoubleValues@1985313813(56946 bytes, 1265 operations)
2011-04-20 12:27:57 INFO ColumnFamilyStore - Enqueuing flush of
Memtable-Documents@1715831652(1872209 bytes, 36 operations)
2011-04-20 12:27:57 INFO Memtable - Writing
Memtable-Documents@1715831652(1872209 bytes, 36 operations)
2011-04-20 12:27:59 INFO CompactionManager - Compacting
[SSTableReader(path='..\cassandra\dbdatafile\system\LocationInfo-f-1-Dat
a.db'),SSTableReader(path='..\cassandra\dbdatafile\system\LocationInfo-f
-2-Data.db'),SSTableReader(path='..\cassandra\dbdatafile\system\Location
Info-f-3-Data.db'),SSTableReader(path='..\cassandra\dbdatafile\system\Lo
cationInfo-f-4-Data.db')]
2011-04-20 12:27:59 INFO Mx4jTool - Will not load MX4J, mx4j-tools.jar
is not in the classpath
2011-04-20 12:27:59 INFO CassandraDaemon - Binding thrift service to
GH-DSK0178.nuance.com/10.184.56.115:9160
2011-04-20 12:27:59 INFO CassandraDaemon - Listening for thrift
clients...
2011-04-20 12:27:59 INFO CompactionManager - Compacted to
..\cassandra\dbdatafile\system\LocationInfo-tmp-f-5-Data.db. 751 to 457
(~60% of original) bytes for 3 keys. Time: 370ms.
2011-04-20 12:28:02 INFO SearchServer - Annotation labels present.
Count labels : 568
I do not get any message saying 'Discarding obsolete ..'. The replayed
commit file however is deleted. The only one left is the new
CommitLog-1303295269011. But I thought that is normal at restart.
Some data is still there and could be queried and that is why there is
my own message saying '..Annotation labels present. Count labels :
568...'
The column family I wanted to access in my query is ForwardLabelValues
(also present in the log extraction here). And the size of the file on
disk is 3.5 m bytes. Also the query I specify is one that should get all
the 'records'.
I did try the sstable2json but must be doing something wrong. I got :
sstable2json
C:\develop\configs\AnnotationServer7\cassandra\dbdatafile\SearchSpace\Fo
rwardLabelValues-f-1-Data.db
no non-system tables are defined
Exception in thread "main"
org.apache.cassandra.config.ConfigurationException: no non-system tables
are defined
at
org.apache.cassandra.tools.SSTableExport.main(SSTableExport.java:457)
Thanks,
Ignace
From: aaron morton [mailto:aaron@thelastpickle.com]
Sent: Wednesday, April 20, 2011 1:40 PM
To: user@cassandra.apache.org
Subject: Re: Different result after restart
Checking the simple things first, are you using the
o.a.c.service.EmbeddedCassandraService or the o.a.c.EmbeddedServer in
the unit test directory ? The later deletes data, but it does not sound
like you are using it.
When the server starts it should read any commit logs, roll them forward
and then flush all the changes to SSTables. Which will result in the log
files been deleted from disk, and you should see INFO level log messages
that say "Discarding obsolete commit log:..."
Do you get new SSTables written at start up ?
If you wanted to confirm the data was there take a look at
bin/sstable2json
Hope that helps.
Aaron
On 20 Apr 2011, at 23:00, Desimpel, Ignace wrote:
Cassandra version 0.7.4
Hi,
I'm storing (no deletion) in a small test some records to an embedded
Cassandra instance.
Then I connect using Thrift and I can retrieve the data as excepted.
Then I restart the server with the embedded Cassandra, reconnect using
Thrift but now the same query gives me no results at all.
After restart the commitlog directory get cleared leaving only a small
log and a small log.header file. The data directory for the keyspace is
still present together with the db files corresponding the column
families.
Any idea what I would be doing wrong here?
Ignace
Re: Different result after restart
Posted by aaron morton <aa...@thelastpickle.com>.
Checking the simple things first, are you using the o.a.c.service.EmbeddedCassandraService or the o.a.c.EmbeddedServer in the unit test directory ? The later deletes data, but it does not sound like you are using it.
When the server starts it should read any commit logs, roll them forward and then flush all the changes to SSTables. Which will result in the log files been deleted from disk, and you should see INFO level log messages that say "Discarding obsolete commit log:..."
Do you get new SSTables written at start up ?
If you wanted to confirm the data was there take a look at bin/sstable2json
Hope that helps.
Aaron
On 20 Apr 2011, at 23:00, Desimpel, Ignace wrote:
> Cassandra version 0.7.4
>
> Hi,
>
> I’m storing (no deletion) in a small test some records to an embedded Cassandra instance.
> Then I connect using Thrift and I can retrieve the data as excepted.
>
> Then I restart the server with the embedded Cassandra, reconnect using Thrift but now the same query gives me no results at all.
> After restart the commitlog directory get cleared leaving only a small log and a small log.header file. The data directory for the keyspace is still present together with the db files corresponding the column families.
> Any idea what I would be doing wrong here?
>
>
> Ignace