diff --git a/CHANGES.txt b/CHANGES.txt index da946f1261..27263f29f5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,7 @@ +1.0.0-final + * Fix tool .bat files when CASSANDRA_HOME contains spaces (CASSANDRA-3258) + + 1.0.0-rc2 * Log a meaningful warning when a node receives a message for a repair session that doesn't exist anymore (CASSANDRA-3256) diff --git a/bin/json2sstable.bat b/bin/json2sstable.bat index 158210cccd..ceb7987f03 100644 --- a/bin/json2sstable.bat +++ b/bin/json2sstable.bat @@ -18,7 +18,7 @@ if "%OS%" == "Windows_NT" setlocal if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%~dp0.. -if NOT DEFINED CASSANDRA_CONF set CASSANDRA_CONF=%CASSANDRA_HOME%\conf +if NOT DEFINED CASSANDRA_CONF set CASSANDRA_CONF="%CASSANDRA_HOME%\conf" if NOT DEFINED CASSANDRA_MAIN set CASSANDRA_MAIN=org.apache.cassandra.tools.SSTableImport if NOT DEFINED JAVA_HOME goto err @@ -29,10 +29,10 @@ set JAVA_OPTS=^ REM ***** CLASSPATH library setting ***** REM Ensure that any user defined CLASSPATH variables are not used on startup -set CLASSPATH=%CASSANDRA_HOME%\conf +set CLASSPATH="%CASSANDRA_HOME%\conf" REM For each jar in the CASSANDRA_HOME lib directory call append to build the CLASSPATH variable. -for %%i in (%CASSANDRA_HOME%\lib\*.jar) do call :append %%~fi +for %%i in ("%CASSANDRA_HOME%\lib\*.jar") do call :append %%~fi goto okClasspath :append @@ -41,7 +41,7 @@ goto :eof :okClasspath REM Include the build\classes\main directory so it works in development -set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes\main;%CASSANDRA_CONF%;%CASSANDRA_HOME%\build\classes\thrift +set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main";%CASSANDRA_CONF%;"%CASSANDRA_HOME%\build\classes\thrift" set CASSANDRA_PARAMS= set TOOLS_PARAMS= diff --git a/bin/nodetool.bat b/bin/nodetool.bat index ea86317991..a78c1c96e5 100644 --- a/bin/nodetool.bat +++ b/bin/nodetool.bat @@ -21,7 +21,7 @@ if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%~dp0.. if NOT DEFINED JAVA_HOME goto err REM Ensure that any user defined CLASSPATH variables are not used on startup -set CLASSPATH=%CASSANDRA_HOME%\conf +set CLASSPATH="%CASSANDRA_HOME%\conf" REM For each jar in the CASSANDRA_HOME lib directory call append to build the CLASSPATH variable. rem for %%i in (%CASSANDRA_HOME%\lib*.jar) do call :append %%~fi @@ -34,7 +34,7 @@ goto :eof :okClasspath REM Include the build\classes\main directory so it works in development -set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes\main;%CASSANDRA_HOME%\build\classes\thrift +set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main";"%CASSANDRA_HOME%\build\classes\thrift" goto runNodeTool :runNodeTool diff --git a/bin/sstable2json.bat b/bin/sstable2json.bat index 6ca91e4db8..cc4cbce083 100644 --- a/bin/sstable2json.bat +++ b/bin/sstable2json.bat @@ -18,7 +18,7 @@ if "%OS%" == "Windows_NT" setlocal if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%~dp0.. -if NOT DEFINED CASSANDRA_CONF set CASSANDRA_CONF=%CASSANDRA_HOME%\conf +if NOT DEFINED CASSANDRA_CONF set CASSANDRA_CONF="%CASSANDRA_HOME%\conf" if NOT DEFINED CASSANDRA_MAIN set CASSANDRA_MAIN=org.apache.cassandra.tools.SSTableExport if NOT DEFINED JAVA_HOME goto err @@ -29,10 +29,10 @@ set JAVA_OPTS=^ REM ***** CLASSPATH library setting ***** REM Ensure that any user defined CLASSPATH variables are not used on startup -set CLASSPATH=%CASSANDRA_HOME%\conf +set CLASSPATH="%CASSANDRA_HOME%\conf" REM For each jar in the CASSANDRA_HOME lib directory call append to build the CLASSPATH variable. -for %%i in (%CASSANDRA_HOME%\lib\*.jar) do call :append %%~fi +for %%i in ("%CASSANDRA_HOME%\lib\*.jar") do call :append %%~fi goto okClasspath :append @@ -41,7 +41,7 @@ goto :eof :okClasspath REM Include the build\classes\main directory so it works in development -set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes\main;%CASSANDRA_CONF%;%CASSANDRA_HOME%\build\classes\thrift +set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main";%CASSANDRA_CONF%;"%CASSANDRA_HOME%\build\classes\thrift" set CASSANDRA_PARAMS= set TOOLS_PARAMS= diff --git a/bin/sstablekeys.bat b/bin/sstablekeys.bat index a0d7641cd4..7d6446a7de 100644 --- a/bin/sstablekeys.bat +++ b/bin/sstablekeys.bat @@ -18,7 +18,7 @@ if "%OS%" == "Windows_NT" setlocal if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%~dp0.. -if NOT DEFINED CASSANDRA_CONF set CASSANDRA_CONF=%CASSANDRA_HOME%\conf +if NOT DEFINED CASSANDRA_CONF set CASSANDRA_CONF="%CASSANDRA_HOME%\conf" if NOT DEFINED CASSANDRA_MAIN set CASSANDRA_MAIN=org.apache.cassandra.tools.SSTableExport if NOT DEFINED JAVA_HOME goto err @@ -29,10 +29,10 @@ set JAVA_OPTS=^ REM ***** CLASSPATH library setting ***** REM Ensure that any user defined CLASSPATH variables are not used on startup -set CLASSPATH=%CASSANDRA_HOME%\conf +set CLASSPATH="%CASSANDRA_HOME%\conf" REM For each jar in the CASSANDRA_HOME lib directory call append to build the CLASSPATH variable. -for %%i in (%CASSANDRA_HOME%\lib\*.jar) do call :append %%~fi +for %%i in ("%CASSANDRA_HOME%\lib\*.jar") do call :append %%~fi goto okClasspath :append @@ -41,7 +41,7 @@ goto :eof :okClasspath REM Include the build\classes\main directory so it works in development -set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes\main;%CASSANDRA_CONF%;%CASSANDRA_HOME%\build\classes\thrift +set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main";%CASSANDRA_CONF%;"%CASSANDRA_HOME%\build\classes\thrift" set CASSANDRA_PARAMS= set TOOLS_PARAMS= diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java index 23743fa14a..067308b06d 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@ -1687,9 +1687,9 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean @Override public String toString() { - return "ColumnFamilyStore(" + - "table='" + table.name + '\'' + - ", columnFamily='" + columnFamily + '\'' + + return "CFS(" + + "Keyspace='" + table.name + '\'' + + ", ColumnFamily='" + columnFamily + '\'' + ')'; } diff --git a/src/java/org/apache/cassandra/db/marshal/UTF8Type.java b/src/java/org/apache/cassandra/db/marshal/UTF8Type.java index 992d0ef475..434ea19611 100644 --- a/src/java/org/apache/cassandra/db/marshal/UTF8Type.java +++ b/src/java/org/apache/cassandra/db/marshal/UTF8Type.java @@ -67,7 +67,7 @@ public class UTF8Type extends AbstractType public void validate(ByteBuffer bytes) throws MarshalException { - if (!UTF8Validator.validate(bytes.slice())) + if (!UTF8Validator.validate(bytes)) throw new MarshalException("String didn't validate."); } @@ -88,6 +88,7 @@ public class UTF8Type extends AbstractType // buf has already been sliced/duplicated. static boolean validate(ByteBuffer buf) { + buf = buf.slice(); int b = 0; State state = State.START; while (buf.remaining() > 0) diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java b/src/java/org/apache/cassandra/thrift/CassandraServer.java index 58984c5225..7e7b2d62a7 100644 --- a/src/java/org/apache/cassandra/thrift/CassandraServer.java +++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java @@ -949,7 +949,7 @@ public class CassandraServer implements Cassandra.Iface { if (!cf.getKeyspace().equals(ks_def.getName())) { - throw new InvalidRequestException("CsDef (" + cf.getName() +") had a keyspace definition that did not match KsDef"); + throw new InvalidRequestException("CfDef (" + cf.getName() +") had a keyspace definition that did not match KsDef"); } }