I suspect that it is still your timestamps. You can verify this with a fake timestamp generator that is simply incremented on each getTimestamp().
1 millisecond is a long time for code that is wrapped tightly in a test. You are likely using the same logical time stamp for multiple operations. On Thu, Jul 22, 2010 at 6:29 PM, Peter Minearo <peter.mine...@reardencommerce.com> wrote: > I am able to reproduce his problem. If you take the default storage-conf.xml > file and utilize the "Super2" ColumnFamily with the code below. You will see > that the data is not getting created once you run the delete. It seems to > not allow you to create data via Thrift. HOWEVER, data can be created via > the command line tool. > > import java.io.UnsupportedEncodingException; > import java.util.List; > > import org.apache.cassandra.thrift.Cassandra; > import org.apache.cassandra.thrift.Column; > import org.apache.cassandra.thrift.ColumnOrSuperColumn; > import org.apache.cassandra.thrift.ColumnParent; > import org.apache.cassandra.thrift.ColumnPath; > import org.apache.cassandra.thrift.ConsistencyLevel; > import org.apache.cassandra.thrift.InvalidRequestException; > import org.apache.cassandra.thrift.NotFoundException; > import org.apache.cassandra.thrift.SlicePredicate; > import org.apache.cassandra.thrift.SliceRange; > import org.apache.cassandra.thrift.SuperColumn; > import org.apache.cassandra.thrift.TimedOutException; > import org.apache.cassandra.thrift.UnavailableException; > import org.apache.thrift.TException; > import org.apache.thrift.protocol.TBinaryProtocol; > import org.apache.thrift.protocol.TProtocol; > import org.apache.thrift.transport.TSocket; > import org.apache.thrift.transport.TTransport; > > > public class CrudTest { > > > private static final String KEYSPACE = "Keyspace1"; > > > public static void main(String[] args) { > CrudTest client = new CrudTest(); > > try { > client.run(); > } catch (Exception e) { > e.printStackTrace(); > } > > } > > > public void run() throws TException, InvalidRequestException, > UnavailableException, UnsupportedEncodingException, NotFoundException, > TimedOutException { > TTransport tr = new TSocket("localhost", 9160); > TProtocol proto = new TBinaryProtocol(tr); > Cassandra.Client client = new Cassandra.Client(proto); > tr.open(); > > System.out.println("******** CREATING DATA *********"); > createData(client); > getData(client); > System.out.println(); > System.out.println("******** DELETING DATA *********"); > deleteData(client); > getData(client); > System.out.println(); > System.out.println("******** CREATING DATA *********"); > createData(client); > getData(client); > > tr.close(); > } > > > private void createData(Cassandra.Client client) throws > InvalidRequestException, UnavailableException, TimedOutException, TException { > ColumnPath cp1 = new ColumnPath("Super2"); > cp1.setSuper_column("hotel".getBytes()); > cp1.setColumn("Best Western".getBytes()); > > > client.insert(KEYSPACE, > "name", > cp1, > "Best Western of SF".getBytes(), > System.currentTimeMillis(), > ConsistencyLevel.ALL); > > ColumnPath cp2 = new ColumnPath("Super2"); > cp2.setSuper_column("hotel".getBytes()); > cp2.setColumn("Econolodge".getBytes()); > > client.insert(KEYSPACE, > "name", > cp2, > "Econolodge of SF".getBytes(), > System.currentTimeMillis(), > ConsistencyLevel.ALL); > > } > > > private void deleteData(Cassandra.Client client) throws > InvalidRequestException, UnavailableException, TimedOutException, TException { > > client.remove(KEYSPACE, > "hotel", > new ColumnPath("Super2"), > System.currentTimeMillis(), > ConsistencyLevel.ONE); > > } > > > private void getData(Cassandra.Client client) throws > InvalidRequestException, UnavailableException, TimedOutException, TException { > SliceRange sliceRange = new SliceRange(); > sliceRange.setStart(new byte[] {}); > sliceRange.setFinish(new byte[] {}); > > SlicePredicate slicePredicate = new SlicePredicate(); > slicePredicate.setSlice_range(sliceRange); > > getData(client, slicePredicate); > } > > > private void getData(Cassandra.Client client, SlicePredicate > slicePredicate) throws InvalidRequestException, UnavailableException, > TimedOutException, TException { > List<ColumnOrSuperColumn> coscList = > client.get_slice(KEYSPACE, "hotel", new ColumnParent("Super2"), > slicePredicate, ConsistencyLevel.ALL); > > if (coscList.isEmpty()) { > System.out.println("Column Or Super Column is EMPTY"); > } > > for (ColumnOrSuperColumn cosc: coscList) { > > if (cosc == null) { > System.out.println("NULL RETURN VALUE"); > } > > SuperColumn superColumn = cosc.getSuper_column(); > > if (superColumn == null) { > System.out.println("Super Column is NULL"); > } > else { > showSuperColumnInfo(superColumn); > } > > } > > } > > > private void showSuperColumnInfo(SuperColumn superColumn) { > System.out.println("######## Super Columns ###########"); > System.out.println("Super Column Name = " + new > String(superColumn.getName())); > List<Column> columnList = superColumn.getColumns(); > > System.out.println("--------- Start Columns -----------"); > for (Column column: columnList) { > System.out.println("Column Name = " + new > String(column.getName())); > System.out.println("Column Value = " + new > String(column.getValue())); > } > System.out.println("--------- End Columns -----------"); > System.out.println("##################################"); > } > > > } > > > > > -----Original Message----- > From: Oleg Tsvinev [mailto:oleg.tsvi...@gmail.com] > Sent: Thu 7/22/2010 1:56 PM > To: user@cassandra.apache.org > Subject: Re: CRUD test > > Yes, and that was the issue. But now after I delete a row from > cassandra-cli, I cannot insert anything back with my code. Insert code works > does not throw any exceptions but when I read just inserted columns I get > NotFoundException at the last line: > > client = borrowClient(); > Keyspace keyspace = client.getKeyspace(KEYSPACE, > CONSISTENCY_LEVEL); > ColumnPath cp = new ColumnPath(application); > cp.setSuper_column(uuid.getBytes()); > SuperColumn sc = keyspace.getSuperColumn(category, cp); > > It makes me think that once I remove supercolumn it cannot be created again. > > > On Jul 22, 2010 1:13 AM, "Colin Vipurs" <zodiac...@gmail.com> wrote: > > Have you checked the timestamp you're using for the subsequent inserts > is higher than that used in the delete? > > > On Thu, Jul 22, 2010 at 2:29 AM, Oleg Tsvinev <oleg.tsvi...@gmail.com> > wrote: >> Hi there, >> I'm try... > -- > Maybe she awoke to see the roommate's boyfriend swinging from the > chandelier wearing a boar's head. > > Something which you, I, and everyone else would call "Tuesday", of course. > >