Return-Path: Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: (qmail 32026 invoked from network); 7 Apr 2010 20:06:53 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 7 Apr 2010 20:06:53 -0000 Received: (qmail 98899 invoked by uid 500); 7 Apr 2010 20:06:52 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 98879 invoked by uid 500); 7 Apr 2010 20:06:52 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 98871 invoked by uid 99); 7 Apr 2010 20:06:52 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Apr 2010 20:06:52 +0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of jbellis@gmail.com designates 209.85.218.222 as permitted sender) Received: from [209.85.218.222] (HELO mail-bw0-f222.google.com) (209.85.218.222) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Apr 2010 20:06:44 +0000 Received: by bwz22 with SMTP id 22so1268837bwz.25 for ; Wed, 07 Apr 2010 13:06:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:received:message-id:subject:to:content-type :content-transfer-encoding; bh=s6BjbRPYaNFoTbCJYvKniPhWr33L9XyPOSNom88bWtk=; b=CoJ3AZLQL7buk88JXA5I3/+HnAIkffIcN46zhCOCifkhDDqQVoLYH4/RYNjtmFRNfR Huk5cbv3fJezZ/dAm/Q3MLM2Ji7M8jC8XyjN49H6g7JloYq55IwdcXRANYZnPhVgOfXM EfibxaL7ekfG4xA1lmclrq6mTgMhK+qt0/Xqc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; b=MCWjJWvflZSsdlcAwpUysY5cyGTUA7+BVlccr4+DvJLRgmq4zzMqX79mpEPJC0muzQ 7yuB4m78JU/DptRZpt1wRO0P5lvRWewzlFGKCg9a2bE7l0lebaJfcMMuKMHkjMlx1QSq J2xTXPUL7HTjYPXjt7EOMIQOUfWXYBQfBC25w= MIME-Version: 1.0 Received: by 10.204.104.1 with HTTP; Wed, 7 Apr 2010 13:06:01 -0700 (PDT) In-Reply-To: References: From: Jonathan Ellis Date: Wed, 7 Apr 2010 15:06:01 -0500 Received: by 10.204.4.219 with SMTP id 27mr2501320bks.197.1270670784096; Wed, 07 Apr 2010 13:06:24 -0700 (PDT) Message-ID: Subject: Re: Bug in Cassandra that occurs when removing a supercolumn. To: user@cassandra.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org If you can make a reproducible test case using the example CF definitions, that would be great. On Wed, Apr 7, 2010 at 2:48 PM, Matthew Grogan wrot= e: > In both my cases the re-inserts have a higher timestamp. > On 7 April 2010 20:13, Jonathan Ellis wrote: >> >> Your re-insert needs to have a higher timestamp than the delete, this is >> normal. >> >> On Wed, Apr 7, 2010 at 12:25 PM, Matthew Grogan >> wrote: >> > I am seeing a similar problem running on 0.6 rc1. >> > The data/logs have existed since 0.5. >> > If I insert a new row then delete and re-insert then it works fine. >> > If I delete a row that was created under 0.5 then delete and re-insert >> > then >> > the insert silently fails. >> > I can delete the data/logs and start again if necessary? >> > >> > On 4 April 2010 14:30, Jonathan Ellis wrote: >> >> >> >> We do appreciate the effort, though. :) >> >> >> >> On Sun, Apr 4, 2010 at 3:42 AM, Arash Bazrafshan >> >> wrote: >> >> > Vijay, I know I've written a ridiculously long bug-specification, b= ut >> >> > heck >> >> > at least I've mentioned all the important stuff. :-) >> >> > >> >> > Look under PREREQUISITES and you see I've mentioned that I use >> >> > 0.5.0-1 >> >> > under >> >> > ubuntu. >> >> > >> >> > I agree that CASSANDRA-703 is exactly the same bug as the one I've >> >> > observed, >> >> > and yet look how short its bug specification is! >> >> > >> >> > Just goes without saying that I need to come up with a shorter way = to >> >> > describe my bugs. >> >> > >> >> > On Sun, Apr 4, 2010 at 5:37 AM, Vijay wrote: >> >> >> >> >> >> What version do you use? i think that bug was fixed.... in .6 >> >> >> https://issues.apache.org/jira/browse/CASSANDRA-703 >> >> >> >> >> >> Regards, >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Sat, Apr 3, 2010 at 5:27 AM, Arash Bazrafshan >> >> >> wrote: >> >> >>> >> >> >>> ello. >> >> >>> >> >> >>> A bug occurs for me when working with Cassandra. >> >> >>> >> >> >>> With this e-mail I intend to show what I do to recreate it, and >> >> >>> then >> >> >>> perhaps you can try it out too. >> >> >>> >> >> >>> SUMMARY OF THE BUG: >> >> >>> =A0=A0 (1): insert a row with a supercolumn that contains a subco= lumn. >> >> >>> =A0=A0 (2) remove the supercolumn. >> >> >>> =A0=A0 (3) reinsert the same row with the same supercolumn and >> >> >>> subcolumn. >> >> >>> =A0=A0 (RESULT): You won't be able to retrieve the entire superco= lumn. >> >> >>> However you will be able to retrieve the specific subcolumn withi= n >> >> >>> the >> >> >>> supercolumn. Removing cassandra's data&logs will make the problem >> >> >>> to >> >> >>> go >> >> >>> away. >> >> >>> >> >> >>> PREREQUISITES: >> >> >>> * Use the column families that are defined by storage-conf.xml in >> >> >>> its >> >> >>> default "out-of-the-box" configuration. Specifically I will use t= he >> >> >>> keyspace >> >> >>> "Keyspace1" with the supercolumn "Super1". >> >> >>> * I use Cassandra 0.5.0-1 on Ubuntu Karmic 9.10. >> >> >>> * I use Thrift 0.2.0 to generate a php api for cassandra. It is >> >> >>> when I >> >> >>> use this api that the bug occurs. >> >> >>> * I run Cassandra on a single node. So I query against 127.0.0.1. >> >> >>> >> >> >>> STEP-BY-STEP INSTRUCTIONS FOR TRIGGERING THE BUG: >> >> >>> >> >> >>> I will now step by step show the PHP scripts that I execute in >> >> >>> order >> >> >>> to >> >> >>> generate the bug. >> >> >>> >> >> >>> STEP 1: EXECUTE THIS SCRIPT. >> >> >>> >> >> >>> //We will first insert a row into the supercolumn family Super1. >> >> >>> >> >> >>> //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> >> >>> >> >> >>> $socket =3D new TSocket("127.0.0.1", 30003); >> >> >>> $transport =3D new TBufferedTransport($socket, 1024, 1024); >> >> >>> $protocol =3D new TBinaryProtocolAccelerated($transport); >> >> >>> $client =3D new CassandraClient ($protocol); >> >> >>> $transport->open(); >> >> >>> >> >> >>> $writeColumnPath =3D new cassandra_ColumnPath(); >> >> >>> >> >> >>> $writeColumnPath->column_family =3D 'Super1'; >> >> >>> $writeColumnPath->super_column =3D 'info'; >> >> >>> $writeColumnPath->column =3D 'phonenumber'; >> >> >>> >> >> >>> $client->insert ( >> >> >>> =A0=A0=A0 'Keyspace1', >> >> >>> =A0=A0=A0 'adam', >> >> >>> =A0=A0=A0 $writeColumnPath, >> >> >>> =A0=A0=A0 '02012312345', >> >> >>> =A0=A0=A0 time(), >> >> >>> =A0=A0=A0 cassandra_ConsistencyLevel::ZERO >> >> >>> ); >> >> >>> >> >> >>> $transport->close(); >> >> >>> >> >> >>> //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> >> >>> >> >> >>> RESULT OF STEP 1: The row that contains a single supercolumn with= a >> >> >>> single column has been inserted. >> >> >>> >> >> >>> >> >> >>> >> >> >>> STEP 2: EXECUTE THIS SCRIPT. >> >> >>> >> >> >>> //Next we will fetch the supercolumn of the row that we just >> >> >>> inserted, >> >> >>> just to make sure that the subcolumn is really there. >> >> >>> >> >> >>> //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> >> >>> >> >> >>> $socket =3D new TSocket("127.0.0.1", 30003); >> >> >>> $transport =3D new TBufferedTransport($socket, 1024, 1024); >> >> >>> $protocol =3D new TBinaryProtocolAccelerated($transport); >> >> >>> $client =3D new CassandraClient ($protocol); >> >> >>> $transport->open(); >> >> >>> >> >> >>> $readColumnPath =3D new cassandra_ColumnPath(); >> >> >>> >> >> >>> $readColumnPath->column_family =3D 'Super1'; >> >> >>> $readColumnPath->super_column =3D 'info'; >> >> >>> $readColumnPath->column =3D null; //NOTE: We want to fetch the en= tire >> >> >>> supercolumn. >> >> >>> >> >> >>> $res =3D $client->get ( >> >> >>> =A0=A0=A0 'Keyspace1', >> >> >>> =A0=A0=A0 'adam', >> >> >>> =A0=A0=A0 $readColumnPath, >> >> >>> =A0=A0=A0=A0 cassandra_ConsistencyLevel::ONE >> >> >>> ); >> >> >>> >> >> >>> echo $res->super_column->columns[0]->value; >> >> >>> >> >> >>> $transport->close(); >> >> >>> >> >> >>> //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> >> >>> >> >> >>> RESULT OF STEP 2: You receive the following output: 02012312345 >> >> >>> >> >> >>> >> >> >>> >> >> >>> STEP 3: EXECUTE THIS SCRIPT. >> >> >>> >> >> >>> //Now we will remove the supercolumn of the row, but we will keep >> >> >>> the >> >> >>> row >> >> >>> itself. >> >> >>> >> >> >>> //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> >> >>> >> >> >>> $socket =3D new TSocket("127.0.0.1", 30003); >> >> >>> $transport =3D new TBufferedTransport($socket, 1024, 1024); >> >> >>> $protocol =3D new TBinaryProtocolAccelerated($transport); >> >> >>> $client =3D new CassandraClient ($protocol); >> >> >>> $transport->open(); >> >> >>> >> >> >>> $deleteColumnPath =3D new cassandra_ColumnPath(); >> >> >>> >> >> >>> $deleteColumnPath->column_family =3D 'Super1'; >> >> >>> $deleteColumnPath->super_column =3D 'info'; >> >> >>> $deleteColumnPath->column =3D null; //NOTE: We want to remove the >> >> >>> entire >> >> >>> supercolumn 'info'. >> >> >>> >> >> >>> $client->remove ( >> >> >>> =A0=A0=A0 'Keyspace1', >> >> >>> =A0=A0=A0 'adam', >> >> >>> =A0=A0=A0 $deleteColumnPath, >> >> >>> =A0=A0=A0 time(), >> >> >>> =A0=A0=A0 cassandra_ConsistencyLevel::ZERO >> >> >>> ); >> >> >>> >> >> >>> >> >> >>> $transport->close(); >> >> >>> >> >> >>> //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> >> >>> >> >> >>> RESULT OF STEP 3: The row is removed from the column family. >> >> >>> >> >> >>> >> >> >>> >> >> >>> STEP 4: EXECUTE THIS SCRIPT. >> >> >>> >> >> >>> //Now let's try to fetch the column within the supercolumn again, >> >> >>> just >> >> >>> to >> >> >>> make sure it is really gone. >> >> >>> >> >> >>> //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> >> >>> >> >> >>> $socket =3D new TSocket("127.0.0.1", 30003); >> >> >>> $transport =3D new TBufferedTransport($socket, 1024, 1024); >> >> >>> $protocol =3D new TBinaryProtocolAccelerated($transport); >> >> >>> $client =3D new CassandraClient ($protocol); >> >> >>> $transport->open(); >> >> >>> >> >> >>> $readColumnPath =3D new cassandra_ColumnPath(); >> >> >>> >> >> >>> $readColumnPath->column_family =3D 'Super1'; >> >> >>> $readColumnPath->super_column =3D 'info'; >> >> >>> $readColumnPath->column =3D null; //NOTE: Fetching the entire >> >> >>> supercolumn. >> >> >>> >> >> >>> $res =3D $client->get ( >> >> >>> =A0=A0=A0 'Keyspace1', >> >> >>> =A0=A0=A0 'adam', >> >> >>> =A0=A0=A0 $readColumnPath, >> >> >>> =A0=A0=A0=A0 cassandra_ConsistencyLevel::ONE >> >> >>> ); >> >> >>> >> >> >>> echo $res->super_column->columns[0]->value; >> >> >>> >> >> >>> $transport->close(); >> >> >>> >> >> >>> //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> >> >>> >> >> >>> RESULT OF STEP 4: A NotFoundException is thrown. >> >> >>> >> >> >>> STEP 5: EXECUTE THIS SCRIPT. >> >> >>> >> >> >>> //Now we will insert the exact same row again, containing the sam= e >> >> >>> supercolumn and column. >> >> >>> >> >> >>> //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> >> >>> >> >> >>> $socket =3D new TSocket("127.0.0.1", 30003); >> >> >>> $transport =3D new TBufferedTransport($socket, 1024, 1024); >> >> >>> $protocol =3D new TBinaryProtocolAccelerated($transport); >> >> >>> $client =3D new CassandraClient ($protocol); >> >> >>> $transport->open(); >> >> >>> >> >> >>> $writeColumnPath =3D new cassandra_ColumnPath(); >> >> >>> >> >> >>> $writeColumnPath->column_family =3D 'Super1'; >> >> >>> $writeColumnPath->super_column =3D 'info'; >> >> >>> $writeColumnPath->column =3D 'phonenumber'; >> >> >>> >> >> >>> $client->insert ( >> >> >>> =A0=A0=A0 'Keyspace1', >> >> >>> =A0=A0=A0 'adam', >> >> >>> =A0=A0=A0 $writeColumnPath, >> >> >>> =A0=A0=A0 '02012312345', >> >> >>> =A0=A0=A0 time(), >> >> >>> =A0=A0=A0 cassandra_ConsistencyLevel::ZERO >> >> >>> ); >> >> >>> >> >> >>> $transport->close(); >> >> >>> >> >> >>> //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> >> >>> >> >> >>> RESULT OF STEP 5: The row that contains a single supercolumn with= a >> >> >>> single column has been inserted. >> >> >>> >> >> >>> STEP 6: EXECUTE THIS SCRIPT (THE BUG WILL APPEAR HERE). >> >> >>> >> >> >>> //Now we will try to fetch the supercolumn within the row again. >> >> >>> This >> >> >>> is >> >> >>> where the bug appears. >> >> >>> >> >> >>> //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> >> >>> >> >> >>> $socket =3D new TSocket("127.0.0.1", 30003); >> >> >>> $transport =3D new TBufferedTransport($socket, 1024, 1024); >> >> >>> $protocol =3D new TBinaryProtocolAccelerated($transport); >> >> >>> $client =3D new CassandraClient ($protocol); >> >> >>> $transport->open(); >> >> >>> >> >> >>> $readColumnPath =3D new cassandra_ColumnPath(); >> >> >>> >> >> >>> $readColumnPath->column_family =3D 'Super1'; >> >> >>> $readColumnPath->super_column =3D 'info'; >> >> >>> $readColumnPath->column =3D null; //NOTE: We are fetching the ent= ire >> >> >>> supercolumn 'info' >> >> >>> >> >> >>> $res =3D $client->get ( >> >> >>> =A0=A0=A0 'Keyspace1', >> >> >>> =A0=A0=A0 'adam', >> >> >>> =A0=A0=A0 $readColumnPath, >> >> >>> =A0=A0=A0=A0 cassandra_ConsistencyLevel::ONE >> >> >>> ); >> >> >>> >> >> >>> echo $res->super_column->columns[0]->value; >> >> >>> >> >> >>> $transport->close(); >> >> >>> >> >> >>> //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> >> >>> >> >> >>> RESULT OF STEP 6: A NotFoundException is still thrown, even if th= e >> >> >>> row >> >> >>> has been inserted again. >> >> >>> >> >> >>> STEP 7: EXECUTE THIS SCRIPT. >> >> >>> >> >> >>> //Now let's get the same column again, but only this time we won'= t >> >> >>> fetch >> >> >>> its entire supercolumn but only the column itself. The difference >> >> >>> between >> >> >>> this step and the previous has been marked in the code. >> >> >>> >> >> >>> //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> >> >>> >> >> >>> $socket =3D new TSocket("127.0.0.1", 30003); >> >> >>> $transport =3D new TBufferedTransport($socket, 1024, 1024); >> >> >>> $protocol =3D new TBinaryProtocolAccelerated($transport); >> >> >>> $client =3D new CassandraClient ($protocol); >> >> >>> $transport->open(); >> >> >>> >> >> >>> $readColumnPath =3D new cassandra_ColumnPath(); >> >> >>> >> >> >>> $readColumnPath->column_family =3D 'Super1'; >> >> >>> $readColumnPath->super_column =3D 'info'; >> >> >>> $readColumnPath->column =3D 'phonenumber'; //NOTE: This time we w= ill >> >> >>> fetch >> >> >>> the specific column. >> >> >>> >> >> >>> $res =3D $client->get ( >> >> >>> =A0=A0=A0 'Keyspace1', >> >> >>> =A0=A0=A0 'adam', >> >> >>> =A0=A0=A0 $readColumnPath, >> >> >>> =A0=A0=A0=A0 cassandra_ConsistencyLevel::ONE >> >> >>> ); >> >> >>> >> >> >>> echo $res->column->value; >> >> >>> >> >> >>> $transport->close(); >> >> >>> >> >> >>> //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D >> >> >>> >> >> >>> RESULT OF STEP 7: You receive the following output: 02012312345. >> >> >>> >> >> >>> STEP 8: SHUT DOWN CASSANDRA & KILL JAVA & REMOVE CASSANDRA'S DATA >> >> >>> FILES >> >> >>> AND COMMIT LOGS. >> >> >>> >> >> >>> STEP 9: RESTART CASSANDRA. >> >> >>> >> >> >>> STEP 10: Reiterate STEP 1 and STEP 2 to see that the bug has >> >> >>> disappeared >> >> >>> and the column value is fetched appropriately. >> >> >>> >> >> >>> CONCLUSION: I have tried this one out with various consistency >> >> >>> levels. >> >> >>> The same thing happens. Next I'll try to insert and remove using >> >> >>> other >> >> >>> methods if the Thrift API allows for it. >> >> >>> >> >> >>> I have included some of Cassandra's conf files so you can see how >> >> >>> I've >> >> >>> configured my setup. Perhaps I am doing something wrong there? >> >> >>> >> >> >> >> >> > >> >> > >> > >> > > >