Hi

I need to use the low level java API in order to test bulk ingestion to cassandra. I have already looked at the code in contrib/bmt_example and contrib/client_only.

When I try and run the following code, I get following exception ; using cassandra-cli I am able to see the "Keyspace1' and column family 'Standard1' .

10/09/07 17:13:30 INFO config.DatabaseDescriptor: DiskAccessMode 'auto' determined to be mmap, indexAccessMode is mmap
Exception in thread "main" java.lang.IllegalArgumentException: Unknown ColumnFamily Standard1 in keyspace Keyspace1
at org.apache.cassandra.config.DatabaseDescriptor.getComparator(DatabaseDescriptor.java:1009)
at org.apache.cassandra.db.ColumnFamily.getComparatorFor(ColumnFamily.java:418)
at gaia.cu7.cassandra.input.Ingestor.main(Ingestor.java:93)

How can I ensure that my program is connecting to already running cassandra and not starting one in process. My program (taken from client_only/bmt examples) is follows:

         System.setProperty("cassandra.config","/user/test/apache-cassandra-0.7.0-beta1/conf/cassandra.yaml");
                final AbstractType comp = ColumnFamily.getComparatorFor("Keyspace1", "Standard1", null);
            for (int i = 0; i < 100; i++)
            {
                RowMutation change = new RowMutation("Keyspace1", ("key" + i).getBytes());
                ColumnPath cp = new ColumnPath("Standard1").setColumn(("colb").getBytes());
                change.add(new QueryPath(cp), ("value" + i).getBytes(), new TimestampClock(0));

                // don't call change.apply().  The reason is that is makes a static call into Table, which will perform
                // local storage initialization, which creates local directories.
                // change.apply();

                StorageProxy.mutate(Arrays.asList(change));
                System.out.println("wrote key" + i);
            }



I am using 0.7.0-beta1. Thanks a lot for your reply,

Asif