vm7
vm7

Reputation: 11

cassandra-stress 2.1.2 windows yaml file path illegal character

I have downloaded Cassandra community edition 2.1.2 (I know its a latest development release currently hence may not be stable). The reason being newer version of cassandra-stress tool which support YAML based configuration which enables to run the tool on my desired keyspace instead of the hardcoded "Keyspace1" in current stable version.

On Windows 7 machine when trying to run cassandra-stress via command line and specifying the path to YAML file, it is always giving error due to ":" character in path starting with "C:\"

C:\Program Files\DataStax Community\apache-cassandra\tools\bin>cassandra-stress user profile=../cqlstress-musicdb.yaml ops(insert=1)

The output is

Illegal character in path at index 10: file:///C:\Program Files\DataStax Community\apache-cassandra\tools\bin\cqlstress-musicdb.yaml

I tried different options to specify the path

As a next step, I am planning to download the source code and check whats going on there, or try this out on some linux machine if I am able to get hold of one in my org, but just thought to put this question is anyone could help.

Thanks.

Upvotes: 1

Views: 924

Answers (2)

Seshagiri Sriram
Seshagiri Sriram

Reputation: 73

This issue is still is present in the 2.1.5 edition of Datastax Community Edition for Windows. The stack is installed under e:\cassandra and it still fails :-(. Note what is not documented is that you need to give full path using syntax like so:

file:///c:/temp/cqlstress-example.yaml

Another cruel hack is to set up a local apache server, place your yaml files there and use profile path to be served from the server like so

bin\cassandra-stress user profile=http://localhost/sample.yaml ops(insert=1)

Upvotes: 1

BrianC
BrianC

Reputation: 10721

I'm not sure what's going on there exactly, but it does seem like a bug that the new cassandra-stress has such trouble with that profile path on Windows.

I was able to make the following work:

First, copy your .yaml file to a path without spaces (like c:\temp)

Then, run the stress command using the "file:///" prefix, like the following

C:\>cd "Program Files\DataStax Community\apache-cassandra\tools"
C:\Program Files\DataStax Community\apache-cassandra\tools>bin\cassandra-stress user profile=file:///c:/temp/cqlstress-example.yaml ops(insert=1)

On Windows you may have an easier time if you install into a path like c:\cassandra rather than the default under Program Files. (Avoiding all those spaces in directory names.)

Upvotes: 2

Related Questions