Sorry for my bad english. In bootstrup cassandra send full file path between nodes, So for example win node deside send value-e-27-Data.db file to unix node(cygwin in you case). Unix node receive full file path of file "value-e-27-Data.db" on win node i.e.
F:\cassandra\7.0\data\test_1\value-e-27-Data.db >From this path cassandra detect column family(value), and keyspace(test_1). It use for this File.separatorChar( http://download.oracle.com/javase/1.4.2/docs/api/java/io/File.html). So, as on unix File.separatorChar="/", but file path have "\" as filepath separator, you got assertion Here is code from org\apache.cassandra.io.sstable.Descriptor.java with cause assertion /** * @see #fromFilename(File directory, String name) */ public static Descriptor fromFilename(String filename) { int separatorPos = filename.lastIndexOf(File.separatorChar); assert separatorPos != -1 : "Filename must include parent directory."; File directory = new File(filename.substring(0, separatorPos)); String name = filename.substring(separatorPos+1, filename.length()); return fromFilename(directory, name).left; } On linux or systems with the same File.separatorChar all ok. This behaivour only when you bootsatrap on load balance. In initial cluster all ok too, because no stream between nodes 2010/10/27 Chris Oei <chris....@nestria.com> > Sorry -- I don't quite understand: what is not supported by cassandra? The > bin directory contains > cassandra.bat, so I assumed cassandra works on Windows. Do you mean that > cassandra works on > Windows but not on cygwin? I had already checked my cassandra.yaml file to > make sure that > I used backslashes instead of forward slashes. > > I don't think I had this problem on 0.6.5. > > Thanks, > Chris > > > On Wed, Oct 27, 2010 at 12:35 PM, ruslan usifov > <ruslan.usi...@gmail.com>wrote: > >> It occurs from for differences between pathseparator chars in windows(\) >> and unix(or mac os("/")), and this doesn't supported by cassandra. If you >> interesting a cant send patch to you which solve this problem. Why so? i >> don't know this question to developers of cassandra >> >> 2010/10/27 Chris Oei <chris....@nestria.com> >> >> Hi all, >>> >>> I'm getting the following when I try to bootstrap my Cassandra cluster on >>> a Windows >>> machine. >>> >>> INFO 11:47:10,300 Joining: sleeping 30000 ms for pending range setup >>> INFO 11:47:40,302 Bootstrapping >>> ERROR 11:47:40,453 Fatal exception in thread Thread[Thread-5,5,main] >>> java.lang.AssertionError: Filename must include parent directory. >>> at >>> org.apache.cassandra.io.sstable.Descriptor.fromFilename(Descriptor.ja >>> va:110) >>> at >>> org.apache.cassandra.streaming.PendingFile$PendingFileSerializer.dese >>> rialize(PendingFile.java:121) >>> at >>> org.apache.cassandra.streaming.StreamHeader$StreamHeaderSerializer.de >>> serialize(StreamHeader.java:90) >>> at >>> org.apache.cassandra.streaming.StreamHeader$StreamHeaderSerializer.de >>> serialize(StreamHeader.java:72) >>> at >>> org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnect >>> ion.java:74) >>> >>> My linux (Ubuntu 10.04) node bootstrapped just fine (using another Ubuntu >>> node as a >>> seed). I'm guessing there's some weirdness involving linux vs. >>> cygwin/Windows filenames. >>> nodetool says the cygwin node is stuck at "Joining 154.98 KB". >>> >>> My system (the problem node): >>> cassandra 0.7.0 RC1 binary (second attempt, dated Oct 26, 2010) >>> cygwin 1.7 >>> Windows 7 (64-bit) >>> java 1.6.0_21 hotspot (32-bit, I think) >>> 4 GB RAM >>> >>> The other nodes (which seem to work fine) are Ubuntu systems. >>> >>> Also, my data set (for this test) is only 23 MB and nobody except me is >>> reading or >>> writing to the cluster. >>> >>> Ideas, anyone? >>> >>> Thanks, >>> Chris >>> >> >> >