Okay, we investigated the problem and found the source of proble in package org.apache.cassandra.io.sstable;
public class Descriptor
public static Pair<Descriptor,String> fromFilename(File directory, String name)
// tokenize the filename
StringTokenizer st = new StringTokenizer(name, String.valueOf(separator));
if bulkloader running from windows and cassandra running under Ubuntu, directory is ("KeySpaceName\\ColumnFamilyName\\KeySpaceName-ColumnFamilyName-hc-177-Data.db"
so at next rows
String ksname = st.nextToken();
String cfname = st.nextToken();
ksname becomes "KeySpaceName\\ColumnFamilyName\\KeySpaceName"
Cross platform clusters are not really supported.That said it sounds like a bug. If you can create some steps to reproduce it please create a ticket here https://issues.apache.org/jira/browse/CASSANDRA it may get looked it.CheersOn 16/06/2012, at 12:41 AM, Nury Redjepow wrote:Good day, everyone
We are using sstableloader to bulk insert data into cassandra.
Script is executed on developers machine with Windows to Single Node Cassandra.
"%JAVA_HOME%\bin\java" -ea -cp %CASSANDRA_CLASSPATH% -Xmx256M -Dlog4j.configuration=log4j-tools.properties org.apache.cassandra.tools.BulkLoader -d 10.0.3.37 --debug -v "DestinationPrices/PricesByHotel"
This works fine if destination cassandra is working under windows, but doesn't work with ubuntu instance. Cli is able to connect, but sstable seem to have problem with keyspace name. Logs in ubuntu instance show error messages like:
ERROR [Thread-41] 2012-06-15 16:05:47,620 AbstractCassandraDaemon.java (line 134) Exception in thread Thread[Thread-41,5,main]
java.lang.AssertionError: Unknown keyspace DestinationPrices\PricesByHotel\DestinationPrices
In our schema we have keyspace DestinationPrices, and column family PricesByHotel. Somehow it's not accepted properly.
So my question is, how should I specify keyspace name in command, to make it work correctly with Ubuntu?