I believe the problem is because of the create.  I wasn't sure what
exactly that method was doing, now i do :)
Thanks.

On Fri, Feb 26, 2010 at 3:32 PM, Sonny Heer <sonnyh...@gmail.com> wrote:
> Hey,
>
> I have an application which is iterating over a directory with text
> files in it.  For each document it is ingesting words as keys, and the
> docid as the column name with column value empty (no super columns).
>
> Below is the code I'm using to construct a key and column:
>
> ColumnFamily cf = ColumnFamily.create(keyspaceStr, cfStr);
> docCF.addColumn(
>   new Column( docid.getBytes("UTF-8"), "".getBytes("UTF-8"), 0 )
> );
> LinkedList<ColumnFamily> docCFs = new LinkedList<ColumnFamily>();
> docCFs.add(docCF);
>
> Message message = createMessage(keyspaceStr, key, cfStr, docCFs);
>
> /* Send message to end point */
> for (InetAddress endpoint:
> StorageService.instance().getNaturalEndpoints(key.toString()))
> {
>      MessagingService.instance().sendOneWay(message, endpoint);
> }
>
> The createMessage method is the same code as in
> CassandraBulkLoader.java.  So that snippet of code is run for each
> term found in a document.  This should give me unique Terms, with
> unique list of docids in which those terms appear.
>
> After running this program, I do a flush of the keyspace.  I noticed
> I'm only getting the last message sent.  It appears to be overriding
> my previous key, docCFs combination.
>
> I tried flushing programmatically after each send like so:
> StorageService.instance().forceTableFlush(keyspaceStr, cfStr);
>
> This did not have any effect.  I'm new to Cassandra,  I hope someone
> with more experience can chime in with some help :)
>
> Thanks.
>

Reply via email to