[ 
https://issues.apache.org/jira/browse/CASSANDRA-4481?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13436450#comment-13436450
 ] 

Florent Clairambault commented on CASSANDRA-4481:
-------------------------------------------------

This bug is marked as resolved, so we're just documenting something that never 
happened. We're not scaring anyone here, we're making sure we have all the 
documentation to prove that I we were wrong.

So just to make things clear, I didn't make any kind of change or deletion on 
my keyspaces. The two keyspaces were created by code (one with pelops and one 
with hector) once and never changed. I know I told I did it with cassandra-cli 
earlier but it turns out that it was entirely by code.

While doing some tests, I did delete the keyspaces and in that cases it gives 
an error that looks like: "Commit logs for non-existing Column Family 1036 were 
ignored" (I can't find the exact error in my logs). 

When I deleted the keyspace files, they were recreated by reading the commit 
logs (this is step 4 in my previous report). So I think they were in accordance 
with the schema stored in cassandra.

--- 

I wanted to actually test it.

The only last versions I could find were 1.0.1, 1.1.2 and 1.1.3. I created a 
small testscript and it definitely works with them. But it would be good if we 
could have access to 1.1.1 to do the same data upgrade we did in the past.

{code}
#!/bin/sh
apt-get remove --purge cassandra -y
rm -Rf /var/log/cassandra /var/lib/cassandra

if [ ! -f cassandra_1.0.11_all.deb ]; then
  wget 
http://apache.mirrors.multidist.eu/cassandra/debian/pool/main/c/cassandra/cassandra_1.0.11_all.deb
fi

if [ ! -f cassandra_1.1.2_all.deb ]; then
   wget 
http://apache.mirrors.multidist.eu/cassandra/debian/pool/main/c/cassandra/cassandra_1.1.2_all.deb
fi

if [ ! -f cassandra_1.1.3_all.deb ]; then
  wget 
http://apache.mirrors.multidist.eu/cassandra/debian/pool/main/c/cassandra/cassandra_1.1.3_all.deb
fi

wait_for_server() {
  while ! echo exit | nc localhost 9160; do sleep 1; done
}

dpkg -i cassandra_1.0.11_all.deb
tail -f /var/log/cassandra/output.log &

wait_for_server;

cassandra-cli -h localhost <<EOF

create keyspace m2mp;
use m2mp;

create column family Registry
  with column_type = 'Standard'
  and comparator = 'AsciiType'
  and default_validation_class = 'AsciiType'
  and key_validation_class = 'AsciiType';

set Registry['/user/florent']['first']='Florent';
set Registry['/user/florent']['country']='France';
set Registry['/version']['1.0.11']='done';
EOF

cassandra-cli -h localhost -k m2mp <<EOF
list Registry;
exit;
EOF

dpkg -i cassandra_1.1.2_all.deb

wait_for_server;

cassandra-cli -h localhost -k m2mp <<EOF
set Registry['/version']['1.1.2']='done';
list Registry;
exit;
EOF

dpkg -i cassandra_1.1.3_all.deb

wait_for_server;

cassandra-cli -h localhost -k m2mp <<EOF
set Registry['/version']['1.1.3']='done';
list Registry;
exit;
EOF

service cassandra restart

wait_for_server;

cassandra-cli -h localhost -k m2mp <<EOF
list Registry;
exit;
EOF
{code}

In the end I do have:
{quote}
-------------------
RowKey: /user/florent
=> (column=country, value=France, timestamp=1345161343036000)
=> (column=first, value=Florent, timestamp=1345161342992000)
-------------------
RowKey: /version
=> (column=1.0.11, value=done, timestamp=1345161343039000)
=> (column=1.1.2, value=done, timestamp=1345161366935000)
=> (column=1.1.3, value=done, timestamp=1345161389760000)
{quote}

So it's ok. But I would be pretty interested to see if we get the same result 
if we don't skip any version.
                
> Commitlog not replayed after restart - data lost
> ------------------------------------------------
>
>                 Key: CASSANDRA-4481
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4481
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 1.1.2
>         Environment: Single node cluster on 64Bit CentOS
>            Reporter: Ivo Meißner
>            Priority: Critical
>
> When data is written to the commitlog and I restart the machine, all commited 
> data is lost that has not been flushed to disk. 
> In the startup logs it says that it replays the commitlog successfully, but 
> the data is not available then. 
> When I open the commitlog file in an editor I can see the added data, but 
> after the restart it cannot be fetched from cassandra. 
> {code}
>  INFO 09:59:45,362 Replaying 
> /var/myproject/cassandra/commitlog/CommitLog-83203377067.log
>  INFO 09:59:45,476 Finished reading 
> /var/myproject/cassandra/commitlog/CommitLog-83203377067.log
>  INFO 09:59:45,476 Log replay complete, 0 replayed mutations
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to