I'd need the version number to be sure, but it looks like that error will stop the node from actually using the data that has been streamed to it. The file is been received, the aux files (bloom etc) are created, the file is opened but the exception stops the file from been used.
I've not looked at the JMX bulk load for a while. If you google around you may find some examples. If you have some more steps to repo we may be able to look into it. Cheers ----------------- Aaron Morton Freelance Developer @aaronmorton http://www.thelastpickle.com On 17/01/2012, at 2:42 AM, Scott Fines wrote: > Unfortunately, I'm not doing a 1-1 migration; I'm moving data from a 15-node > to a 6-node cluster. In this case, that means an excessive amount of time > spent repairing data put on to the wrong machines. > > Also, the bulkloader's requirement of having either a different IP address or > a different machine is something that I don't really want to bother with, if > I can activate it through JMX. > > It seems like the JMX bulkloader works perfectly fine, however, except for > the error that I mentioned below. So I suppose I'll ask again, is that error > something to be concerned about? > > Thanks, > > Scott > From: aaron morton [aa...@thelastpickle.com] > Sent: Sunday, January 15, 2012 12:07 PM > To: user@cassandra.apache.org > Subject: Re: JMX BulkLoad weirdness > > If you are doing a straight one-to-one copy from one cluster to another try… > > 1) nodetool snapshot on each prod node for the system and application key > spaces. > 2) rsync system and app key space snapshots > 3) update the yaml files on the new cluster to have the correct > initial_tokens. This is not necessary as they are stored in the system KS, > but it is limits surprises later. > 4) Start the new cluster. > > For bulk load you will want to use the sstableloader > http://www.datastax.com/dev/blog/bulk-loading > > > Cheers > > ----------------- > Aaron Morton > Freelance Developer > @aaronmorton > http://www.thelastpickle.com > > On 14/01/2012, at 3:32 AM, Scott Fines wrote: > >> Hi all, >> >> I'm trying to copy a column family from our production cluster to our >> development one for testing purposes, so I thought I would try the bulkload >> API. Since I'm lazy, I'm using the Cassandra bulkLoad JMX call from one of >> the development machines. Here are the steps I followed: >> >> 1. (on production C* node): nodetool flush <keyspace> <CF> >> 2. rsync SSTables from production C* node to development C* node >> 3. bulkLoad SSTables through JMX >> >> But when I do that, on one of the development C* nodes, I keep getting this >> exception: >> >> java.lang.NullPointerException >> at org.apache.cassandra.io.sstable.SSTable.getMinimalKey(SSTable.java:156) >> at >> org.apache.cassandra.io.sstable.SSTableWriter.closeAndOpenReader(SSTableWriter.java:334) >> at >> org.apache.cassandra.io.sstable.SSTableWriter.closeAndOpenReader(SSTableWriter.java:302) >> at >> org.apache.cassandra.streaming.IncomingStreamReader.streamIn(IncomingStreamReader.java:156) >> at >> org.apache.cassandra.streaming.IncomingStreamReader.read(IncomingStreamReader.java:88) >> at >> org.apache.cassandra.net.IncomingTcpConnection.stream(IncomingTcpConnection.java:184) >> >> After which, the node itself seems to stream data successfully (I'm in the >> middle of checking that right now). >> >> Is this an error that I should be concerned about? >> >> Thanks, >> >> Scott