You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2011/10/07 21:08:21 UTC

svn commit: r1180158 - in /cassandra/branches/cassandra-1.0: ./ bin/ bin/daemon/ conf/ contrib/ examples/simple_authentication/ examples/simple_authentication/conf/ examples/simple_authentication/src/ examples/simple_authentication/src/org/ examples/si...

Author: jbellis
Date: Fri Oct  7 19:08:20 2011
New Revision: 1180158

URL: http://svn.apache.org/viewvc?rev=1180158&view=rev
Log:
merge from 1.0.0

Added:
    cassandra/branches/cassandra-1.0/bin/daemon/
      - copied from r1180157, cassandra/branches/cassandra-1.0.0/bin/daemon/
    cassandra/branches/cassandra-1.0/bin/daemon/LICENSE.txt
      - copied unchanged from r1180157, cassandra/branches/cassandra-1.0.0/bin/daemon/LICENSE.txt
    cassandra/branches/cassandra-1.0/bin/daemon/NOTICE.txt
      - copied unchanged from r1180157, cassandra/branches/cassandra-1.0.0/bin/daemon/NOTICE.txt
    cassandra/branches/cassandra-1.0/bin/daemon/RELEASE-NOTES.txt
      - copied unchanged from r1180157, cassandra/branches/cassandra-1.0.0/bin/daemon/RELEASE-NOTES.txt
    cassandra/branches/cassandra-1.0/bin/daemon/prunmgr.exe
      - copied unchanged from r1180157, cassandra/branches/cassandra-1.0.0/bin/daemon/prunmgr.exe
    cassandra/branches/cassandra-1.0/bin/daemon/prunsrv.exe
      - copied unchanged from r1180157, cassandra/branches/cassandra-1.0.0/bin/daemon/prunsrv.exe
    cassandra/branches/cassandra-1.0/examples/simple_authentication/
      - copied from r1180157, cassandra/branches/cassandra-1.0.0/examples/simple_authentication/
    cassandra/branches/cassandra-1.0/examples/simple_authentication/README.txt
      - copied unchanged from r1180157, cassandra/branches/cassandra-1.0.0/examples/simple_authentication/README.txt
    cassandra/branches/cassandra-1.0/examples/simple_authentication/conf/
      - copied from r1180157, cassandra/branches/cassandra-1.0.0/examples/simple_authentication/conf/
    cassandra/branches/cassandra-1.0/examples/simple_authentication/conf/access.properties
      - copied unchanged from r1180157, cassandra/branches/cassandra-1.0.0/examples/simple_authentication/conf/access.properties
    cassandra/branches/cassandra-1.0/examples/simple_authentication/conf/passwd.properties
      - copied unchanged from r1180157, cassandra/branches/cassandra-1.0.0/examples/simple_authentication/conf/passwd.properties
    cassandra/branches/cassandra-1.0/examples/simple_authentication/src/
      - copied from r1180157, cassandra/branches/cassandra-1.0.0/examples/simple_authentication/src/
    cassandra/branches/cassandra-1.0/examples/simple_authentication/src/org/
      - copied from r1180157, cassandra/branches/cassandra-1.0.0/examples/simple_authentication/src/org/
    cassandra/branches/cassandra-1.0/examples/simple_authentication/src/org/apache/
      - copied from r1180157, cassandra/branches/cassandra-1.0.0/examples/simple_authentication/src/org/apache/
    cassandra/branches/cassandra-1.0/examples/simple_authentication/src/org/apache/cassandra/
      - copied from r1180157, cassandra/branches/cassandra-1.0.0/examples/simple_authentication/src/org/apache/cassandra/
    cassandra/branches/cassandra-1.0/examples/simple_authentication/src/org/apache/cassandra/auth/
      - copied from r1180157, cassandra/branches/cassandra-1.0.0/examples/simple_authentication/src/org/apache/cassandra/auth/
    cassandra/branches/cassandra-1.0/examples/simple_authentication/src/org/apache/cassandra/auth/SimpleAuthenticator.java
      - copied unchanged from r1180157, cassandra/branches/cassandra-1.0.0/examples/simple_authentication/src/org/apache/cassandra/auth/SimpleAuthenticator.java
    cassandra/branches/cassandra-1.0/examples/simple_authentication/src/org/apache/cassandra/auth/SimpleAuthority.java
      - copied unchanged from r1180157, cassandra/branches/cassandra-1.0.0/examples/simple_authentication/src/org/apache/cassandra/auth/SimpleAuthority.java
Removed:
    cassandra/branches/cassandra-1.0/conf/access.properties
    cassandra/branches/cassandra-1.0/conf/passwd.properties
    cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/auth/SimpleAuthenticator.java
    cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/auth/SimpleAuthority.java
    cassandra/branches/cassandra-1.0/test/unit/org/apache/cassandra/auth/SimpleAuthorityTest.java
Modified:
    cassandra/branches/cassandra-1.0/   (props changed)
    cassandra/branches/cassandra-1.0/CHANGES.txt
    cassandra/branches/cassandra-1.0/NEWS.txt
    cassandra/branches/cassandra-1.0/README.txt
    cassandra/branches/cassandra-1.0/bin/cassandra.bat
    cassandra/branches/cassandra-1.0/build.xml
    cassandra/branches/cassandra-1.0/conf/README.txt
    cassandra/branches/cassandra-1.0/conf/cassandra.yaml
    cassandra/branches/cassandra-1.0/contrib/   (props changed)
    cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java   (props changed)
    cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java   (props changed)
    cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java   (props changed)
    cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java   (props changed)
    cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java   (props changed)
    cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/auth/IAuthenticator.java
    cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/cli/CliClient.java
    cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/cli/CliMain.java
    cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/Config.java
    cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
    cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/hadoop/ColumnFamilyOutputFormat.java
    cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
    cassandra/branches/cassandra-1.0/tools/stress/bin/stress.bat

Propchange: cassandra/branches/cassandra-1.0/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct  7 19:08:20 2011
@@ -5,7 +5,7 @@
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
 /cassandra/branches/cassandra-1.0:1167106,1167185
-/cassandra/branches/cassandra-1.0.0:1167104-1179900
+/cassandra/branches/cassandra-1.0.0:1167104-1180157
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1:1102511-1125020
 /cassandra/trunk:1167085-1167102,1169870

Modified: cassandra/branches/cassandra-1.0/CHANGES.txt
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/CHANGES.txt?rev=1180158&r1=1180157&r2=1180158&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/CHANGES.txt (original)
+++ cassandra/branches/cassandra-1.0/CHANGES.txt Fri Oct  7 19:08:20 2011
@@ -17,6 +17,8 @@
  * add estimated tasks to LeveledCompactionStrategy (CASSANDRA-3322)
  * avoid including compaction cache-warming in keycache stats (CASSANDRA-3325)
  * run compaction and hinted handoff threads at MIN_PRIORITY (CASSANDRA-3308)
+ * default hsha thrift server to cpu core count in rpc pool (CASSANDRA-3329)
+ * add bin\daemon to binary tarball for Windows service (CASSANDRA-3331)
 Fixes merged from 0.8 below:
  * Fix tool .bat files when CASSANDRA_HOME contains spaces (CASSANDRA-3258)
  * Force flush of status table when removing/updating token (CASSANDRA-3243)
@@ -30,6 +32,7 @@ Fixes merged from 0.8 below:
  * Fix missing fields in CLI `show schema` output (CASSANDRA-3304)
  * Nodetool no longer leaks threads and closes JMX connections (CASSANDRA-3309)
  * fix truncate allowing data to be replayed post-restart (CASSANDRA-3297)
+ * Move SimpleAuthority and SimpleAuthenticator to examples (CASSANDRA-2922)
 
 
 1.0.0-rc2
@@ -90,7 +93,7 @@ Fixes merged from 0.8 below:
  * don't bother persisting columns shadowed by a row tombstone (CASSANDRA-2589)
  * reset CF and SC deletion times after gc_grace (CASSANDRA-2317)
  * optimize away seek when compacting wide rows (CASSANDRA-2879)
- * single-pass streaming (CASSANDRA-2677, 3003)
+ * single-pass streaming (CASSANDRA-2677, 2906, 2916, 3003)
  * use reference counting for deleting sstables instead of relying on GC
    (CASSANDRA-2521, 3179)
  * store hints as serialized mutations instead of pointers to data row
@@ -103,7 +106,7 @@ Fixes merged from 0.8 below:
    (CASSANDRA-2953)
  * add paging to get_count (CASSANDRA-2894)
  * fix "short reads" in [multi]get (CASSANDRA-2643, 3157, 3192)
- * add optional compression for sstables (CASSANDRA-47, 3001, 3128)
+ * add optional compression for sstables (CASSANDRA-47, 2994, 3001, 3128)
  * add scheduler JMX metrics (CASSANDRA-2962)
  * add block level checksum for compressed data (CASSANDRA-1717)
  * make column family backed column map pluggable and introduce unsynchronized
@@ -155,6 +158,12 @@ Fixes merged from 0.8 below:
  * Reduce copies done for intra-host messages (CASSANDRA-1788, 3144)
  * support of compaction strategy option for stress.java (CASSANDRA-3204)
  * make memtable throughput and column count thresholds no-ops (CASSANDRA-2449)
+ * Return schema information along with the resultSet in CQL (CASSANDRA-2734)
+ * Add new DecimalType (CASSANDRA-2883)
+ * Fix assertion error in RowRepairResolver (CASSANDRA-3156)
+ * Reduce unnecessary high buffer sizes (CASSANDRA-3171)
+ * Pluggable compaction strategy (CASSANDRA-1610)
+ * Add new broadcast_address config option (CASSANDRA-2491)
 
 
 0.8.6

Modified: cassandra/branches/cassandra-1.0/NEWS.txt
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/NEWS.txt?rev=1180158&r1=1180157&r2=1180158&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/NEWS.txt (original)
+++ cassandra/branches/cassandra-1.0/NEWS.txt Fri Oct  7 19:08:20 2011
@@ -3,44 +3,55 @@
 
 Upgrading
 ---------
+    - Upgrading from version 0.7.1+ or 0.8.2+ can be done with a rolling
+      restart, one node at a time.  (0.8.0 or 0.8.1 are NOT network-compatible
+      with 1.0: upgrade to the most recent 0.8 release first.)
+      You do not need to bring down the whole cluster at once. 
+    - After upgrading, run nodetool scrub against each node before running
+      repair, moving nodes, or adding new ones.
     - CQL inserts/updates now generate microsecond resolution timestamps
       by default, instead of millisecond. THIS MEANS A ROLLING UPGRADE COULD
       MIX milliseconds and microseconds, with clients talking to servers
       generating milliseconds unable to overwrite the larger microsecond
-      timestamps. If this is important for your application, you can either
-      perform a non-rolling upgrade to 1.0, or update your application first
-      to use explicit timestamps with the "USING timestamp=X" syntax.
-    - the BinaryMemtable bulk-load interface has been removed. Use the
-      sstableloader tool instead.
-    - the compaction_thread_priority setting has been removed from 
+      timestamps. If you are using CQL and this is important for your
+      application, you can either perform a non-rolling upgrade to 1.0, or
+      update your application first to use explicit timestamps with the "USING
+      timestamp=X" syntax.
+    - The BinaryMemtable bulk-load interface has been removed (use the
+      sstableloader tool instead).
+    - The compaction_thread_priority setting has been removed from
       cassandra.yaml (use compaction_throughput_mb_per_sec to throttle
-      compaction instead)
+      compaction instead).
     - CQL types bytea and date were renamed to blob and timestamp, respectively,
       to conform with SQL norms.  CQL type int is now a 4-byte int, not 8
       (which is still available as bigint).
-    - Cassandra 1.0 uses arena allocation to reduce old generation fragmentation.
-      This means there is a minimum overhead of 1MB per ColumnFamily plus
-      1MB per index.
+    - Cassandra 1.0 uses arena allocation to reduce old generation
+      fragmentation.  This means there is a minimum overhead of 1MB
+      per ColumnFamily plus 1MB per index.
+    - The SimpleAuthenticator and SimpleAuthority classes have been moved to
+      the example directory (and are thus not available from the binary
+      distribution). They never provided actual security and in their current
+      state are only meant as examples.
 
 Features
 --------
     - SSTable compression is supported through the 'compression_options'
       parameter when creating/updating a column family. For instance, you can
-      create a column family Cf using compression (using the Snappy library)
+      create a column family Cf using compression (through the Snappy library)
       in the CLI with:
         create column family Cf with compression_options={sstable_compression: SnappyCompressor}
       SSTable compression is not activated by default but can be activated or
       deactivated at any time.
     - Compressed SSTable blocks are checksummed to protect against bitrot
-    - New LevelDB-inspired compaction algorithm can be enabled by setting the 
-      Columnfamily compaction_strategy=LeveledCompactionStrategy option.  
-      Leveled compaction means you only need to keep a few MB of space free for 
+    - New LevelDB-inspired compaction algorithm can be enabled by setting the
+      Columnfamily compaction_strategy=LeveledCompactionStrategy option.
+      Leveled compaction means you only need to keep a few MB of space free for
       compaction instead of (in the worst case) 50%.
-    - Ability to use multiple threads during a single compaction.  See 
+    - Ability to use multiple threads during a single compaction. See
       multithreaded_compaction in cassandra.yaml for more details.
     - Windows Service ("cassandra.bat install" to enable)
     - A dead node may be replaced in a single step by starting a new node
-      with -Dcassandra.replace_token=<token>.  More details can be found at
+      with -Dcassandra.replace_token=<token>. More details can be found at
       http://wiki.apache.org/cassandra/Operations#Replacing_a_Dead_Node
     - It is now possible to repair only the first range returned by the
       partitioner for a node with `nodetool repair -pr`. It makes it
@@ -63,14 +74,17 @@ Other
     - The old per-ColumnFamily memtable thresholds
       (memtable_throughput_in_mb, memtable_operations_in_millions,
       memtable_flush_after_mins) are ignored, in favor of the global
-      memtable_total_space_in_mb and commitlog_total_space_in_mb settings.  
+      memtable_total_space_in_mb and commitlog_total_space_in_mb settings.
       This does not affect client compatibility -- the old options are
-      still allowed, but have no effect.  These options may be removed
+      still allowed, but have no effect. These options may be removed
       entirely in a future release.
     - Backlogged compactions will begin five minutes after startup.  The 0.8
       behavior of never starting compaction until a flush happens is usually
       not what is desired, but a short grace period is useful to allow caches
       to warm up first.
+    - The deletion of compacted data files is not performed during Garbage
+      Collection anymore. This means compacted files will now be deleted
+      without delay.
 
 
 0.8.5

Modified: cassandra/branches/cassandra-1.0/README.txt
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/README.txt?rev=1180158&r1=1180157&r2=1180158&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/README.txt (original)
+++ cassandra/branches/cassandra-1.0/README.txt Fri Oct  7 19:08:20 2011
@@ -41,7 +41,7 @@ Now that we're ready, let's start it up!
 (Running the startup script with the -f argument will cause Cassandra to
 remain in the foreground and log to standard out.  On windows, running
 it with the 'install' argument instead will install Cassandra as a
-Windows Service.)
+Windows Service, and 'uninstall' will remove it.)
 
 Now let's try to read and write some data using the command line client.
 

Modified: cassandra/branches/cassandra-1.0/bin/cassandra.bat
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/bin/cassandra.bat?rev=1180158&r1=1180157&r2=1180158&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/bin/cassandra.bat (original)
+++ cassandra/branches/cassandra-1.0/bin/cassandra.bat Fri Oct  7 19:08:20 2011
@@ -14,8 +14,11 @@
 @REM  See the License for the specific language governing permissions and
 @REM  limitations under the License.
 
+@echo off
+
 set ARG=%1
 set INSTALL="INSTALL"
+set UNINSTALL="UNINSTALL"
 
 pushd %~dp0..
 if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%CD%
@@ -60,7 +63,8 @@ goto :eof
 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_PARAMS=-Dcassandra -Dcassandra-foreground=yes
-if /i "%ARG%" == "INSTALL" goto installService
+if /i "%ARG%" == "INSTALL" goto doInstallOperation
+if /i "%ARG%" == "UNINSTALL" goto doInstallOperation
 goto runDaemon
 
 
@@ -69,7 +73,7 @@ echo Starting Cassandra Server
 "%JAVA_HOME%\bin\java" %JAVA_OPTS% %CASSANDRA_PARAMS% -cp %CASSANDRA_CLASSPATH% "%CASSANDRA_MAIN%"
 goto finally
 
-:installService
+:doInstallOperation
 set SERVICE_JVM="cassandra"
 rem location of Prunsrv
 set PATH_PRUNSRV=%CASSANDRA_HOME%\bin\daemon\
@@ -81,15 +85,17 @@ set JAVA_OPTS_DELM=%JAVA_OPTS: -=;-%
 rem Allow prunsrv to be overridden
 if "%PRUNSRV%" == "" set PRUNSRV=%PATH_PRUNSRV%prunsrv
 
-rem Install the service
 echo trying to delete service if it has been created already
-%PRUNSRV% //DS//%SERVICE_JVM%
-echo Installing %SERVICE_JVM%
-%PRUNSRV% //IS//%SERVICE_JVM%
-
+"%PRUNSRV%" //DS//%SERVICE_JVM%
+rem quit if we're just going to uninstall
+if /i "%ARG%" == "UNINSTALL" goto finally
+
+echo.
+echo Installing %SERVICE_JVM%. If you get registry warnings, re-run as an Administrator
+"%PRUNSRV%" //IS//%SERVICE_JVM%
 echo Setting the parameters for %SERVICE_JVM%
 rem set PR_CLASSPATH=%CASSANDRA_CLASSPATH%
-%PRUNSRV% //US//%SERVICE_JVM% ^
+"%PRUNSRV%" //US//%SERVICE_JVM% ^
  --Jvm=auto --StdOutput auto --StdError auto ^
  --Classpath=%CASSANDRA_CLASSPATH% ^
  --StartMode=jvm --StartClass=%CASSANDRA_MAIN% --StartMethod=main ^

Modified: cassandra/branches/cassandra-1.0/build.xml
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/build.xml?rev=1180158&r1=1180157&r2=1180158&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/build.xml (original)
+++ cassandra/branches/cassandra-1.0/build.xml Fri Oct  7 19:08:20 2011
@@ -41,6 +41,7 @@
     <property name="build.lib" value="${basedir}/lib"/>
     <property name="build.dir" value="${basedir}/build"/>
     <property name="build.dir.lib" value="${basedir}/build/lib"/>
+    <property name="build.dir.daemon" value="${basedir}/bin/daemon"/>
     <property name="build.test.dir" value="${build.dir}/test"/>
     <property name="build.classes" value="${build.dir}/classes"/>
     <property name="build.classes.main" value="${build.classes}/main" />
@@ -875,6 +876,8 @@ url=${svn.entry.url}?pathrev=${svn.entry
         <!-- Shell includes in bin/ (default mode) -->
         <tarfileset dir="${dist.dir}" prefix="${final.name}">
           <include name="bin/*.in.sh" />
+          <include name="${build.dir.daemon}/**" />
+
         </tarfileset>
         <!-- Executable scripts in bin/ -->
         <tarfileset dir="${dist.dir}" prefix="${final.name}" mode="755">
@@ -906,6 +909,7 @@ url=${svn.entry.url}?pathrev=${svn.entry
         <tarfileset dir="${basedir}" prefix="${final.name}-src">
           <include name="bin/*.in.sh" />
           <include name="bin/*.bat" />
+	  <include name="${build.dir.daemon}/**" />
         </tarfileset>
         <!-- Everything else (assumed to be scripts), is executable -->
         <tarfileset dir="${basedir}" prefix="${final.name}-src" mode="755">

Modified: cassandra/branches/cassandra-1.0/conf/README.txt
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/conf/README.txt?rev=1180158&r1=1180157&r2=1180158&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/conf/README.txt (original)
+++ cassandra/branches/cassandra-1.0/conf/README.txt Fri Oct  7 19:08:20 2011
@@ -8,6 +8,4 @@ log4j-server.proprties: log4j configurat
 Optional configuration files
 ============================
 
-access.properties: used for authorization
-passwd.properties: used for authentication
 cassandra-topology.properties: used by PropertyFileSnitch

Modified: cassandra/branches/cassandra-1.0/conf/cassandra.yaml
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/conf/cassandra.yaml?rev=1180158&r1=1180157&r2=1180158&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/conf/cassandra.yaml (original)
+++ cassandra/branches/cassandra-1.0/conf/cassandra.yaml Fri Oct  7 19:08:20 2011
@@ -193,35 +193,35 @@ rpc_port: 9160
 # enable or disable keepalive on rpc connections
 rpc_keepalive: true
 
-# Cassandra provides you with a variety of options for RPC Server
-# sync  -> Creates one thread per connection but with a configurable number of
-#           threads.  This can be expensive in memory used for thread stack for
-#           a large enough number of clients.  (Hence, connection pooling is
-#           very, very strongly recommended.)
+# Cassandra provides three options for the RPC Server:
+#
+# sync  -> One connection per thread in the rpc pool (see below).
+#          For a very large number of clients, memory will be your limiting
+#          factor; on a 64 bit JVM, 128KB is the minimum stack size per thread.
+#          Connection pooling is very, very strongly recommended.
 #
 # async -> Nonblocking server implementation with one thread to serve 
-#           rpc connections.  This is not recommended for high throughput use
-#           cases.
+#          rpc connections.  This is not recommended for high throughput use
+#          cases. Async has been tested to be about 50% slower than sync
+#          or hsha and is deprecated: it will be removed in the next major release.
+#
+# hsha  -> Stands for "half synchronous, half asynchronous." The rpc thread pool 
+#          (see below) is used to manage requests, but the threads are multiplexed
+#          across the different clients.
 #
-# hsha  -> half sync and half async implementation with configurable number
-#           of worker threads (For managing connections).  IO Management is
-#           done by a set of threads currently equal to the number of
-#           processors in the system. The number of threads in the threadpool
-#           is configured via rpc_min_threads and rpc_max_threads.  (Connection
-#           pooling is strongly recommended in this case too.) 
-
+# The default is sync because on Windows hsha is about 30% slower.  On Linux,
+# sync/hsha performance is about the same, with hsha of course using less memory.
 rpc_server_type: sync
 
 # Uncomment rpc_min|max|thread to set request pool size.
 # You would primarily set max for the sync server to safeguard against
 # misbehaved clients; if you do hit the max, Cassandra will block until one
-# disconnects before accepting more.  The defaults are min of 16 and max
+# disconnects before accepting more.  The defaults for sync are min of 16 and max
 # unlimited.
 # 
-# For the Hsha server, you would set the max so that a fair amount of resources
-# are provided to the other working threads on the server.
+# For the Hsha server, the min and max both default to the number of CPU cores.
 #
-# This configuration is not used for the async server.
+# This configuration is ignored by the async server.
 #
 # rpc_min_threads: 16
 # rpc_max_threads: 2048

Propchange: cassandra/branches/cassandra-1.0/contrib/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct  7 19:08:20 2011
@@ -5,7 +5,7 @@
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/contrib:1101014-1125018
 /cassandra/branches/cassandra-1.0/contrib:1167106,1167185
-/cassandra/branches/cassandra-1.0.0/contrib:1167104-1179900
+/cassandra/branches/cassandra-1.0.0/contrib:1167104-1180157
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1/contrib:1102511-1125020
 /cassandra/trunk/contrib:1167085-1167102,1169870

Propchange: cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct  7 19:08:20 2011
@@ -5,7 +5,7 @@
 /cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1101014-1125018
 /cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167106,1167185
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167104-1179900
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167104-1180157
 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1102511-1125020
 /cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167085-1167102,1169870

Propchange: cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct  7 19:08:20 2011
@@ -5,7 +5,7 @@
 /cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1101014-1125018
 /cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167106,1167185
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167104-1179900
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167104-1180157
 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1102511-1125020
 /cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167085-1167102,1169870

Propchange: cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct  7 19:08:20 2011
@@ -5,7 +5,7 @@
 /cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1101014-1125018
 /cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167106,1167185
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167104-1179900
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167104-1180157
 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1102511-1125020
 /cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167085-1167102,1169870

Propchange: cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct  7 19:08:20 2011
@@ -5,7 +5,7 @@
 /cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1101014-1125018
 /cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167106,1167185
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167104-1179900
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167104-1180157
 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1102511-1125020
 /cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167085-1167102,1169870

Propchange: cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct  7 19:08:20 2011
@@ -5,7 +5,7 @@
 /cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1101014-1125018
 /cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167106,1167185
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167104-1179900
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167104-1180157
 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1102511-1125020
 /cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167085-1167102,1169870

Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/auth/IAuthenticator.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/auth/IAuthenticator.java?rev=1180158&r1=1180157&r2=1180158&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/auth/IAuthenticator.java (original)
+++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/auth/IAuthenticator.java Fri Oct  7 19:08:20 2011
@@ -27,6 +27,9 @@ import org.apache.cassandra.thrift.Authe
 
 public interface IAuthenticator
 {
+    public static final String USERNAME_KEY = "username";
+    public static final String PASSWORD_KEY = "password";
+
     /**
      * @return The user that a connection is initialized with, or 'null' if a user must call login().
      */

Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/cli/CliClient.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/cli/CliClient.java?rev=1180158&r1=1180157&r2=1180158&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/cli/CliClient.java (original)
+++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/cli/CliClient.java Fri Oct  7 19:08:20 2011
@@ -32,7 +32,7 @@ import com.google.common.base.Charsets;
 import com.google.common.base.Joiner;
 
 import org.antlr.runtime.tree.Tree;
-import org.apache.cassandra.auth.SimpleAuthenticator;
+import org.apache.cassandra.auth.IAuthenticator;
 import org.apache.cassandra.config.ConfigurationException;
 import org.apache.cassandra.db.ColumnFamilyStoreMBean;
 import org.apache.cassandra.db.compaction.CompactionInfo;
@@ -1833,8 +1833,8 @@ public class CliClient
         	{
         	    /* remove quotes */
         	    password = password.replace("\'", "");
-        	    credentials.put(SimpleAuthenticator.USERNAME_KEY, username);
-                credentials.put(SimpleAuthenticator.PASSWORD_KEY, password);
+        	    credentials.put(IAuthenticator.USERNAME_KEY, username);
+                credentials.put(IAuthenticator.PASSWORD_KEY, password);
                 authRequest = new AuthenticationRequest(credentials);
                 thriftClient.login(authRequest);
         	}

Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/cli/CliMain.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/cli/CliMain.java?rev=1180158&r1=1180157&r2=1180158&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/cli/CliMain.java (original)
+++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/cli/CliMain.java Fri Oct  7 19:08:20 2011
@@ -27,7 +27,7 @@ import java.util.*;
 
 import jline.ConsoleReader;
 import jline.History;
-import org.apache.cassandra.auth.SimpleAuthenticator;
+import org.apache.cassandra.auth.IAuthenticator;
 import org.apache.cassandra.thrift.*;
 import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TBinaryProtocol;
@@ -95,8 +95,8 @@ public class CliMain
         {
             // Authenticate
             Map<String, String> credentials = new HashMap<String, String>();
-            credentials.put(SimpleAuthenticator.USERNAME_KEY, sessionState.username);
-            credentials.put(SimpleAuthenticator.PASSWORD_KEY, sessionState.password);
+            credentials.put(IAuthenticator.USERNAME_KEY, sessionState.username);
+            credentials.put(IAuthenticator.PASSWORD_KEY, sessionState.password);
             AuthenticationRequest authRequest = new AuthenticationRequest(credentials);
             try
             {

Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/Config.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/Config.java?rev=1180158&r1=1180157&r2=1180158&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/Config.java (original)
+++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/Config.java Fri Oct  7 19:08:20 2011
@@ -69,8 +69,8 @@ public class Config
     public Integer rpc_port = 9160;
     public String rpc_server_type = "sync";
     public Boolean rpc_keepalive = true;
-    public Integer rpc_min_threads = 16;
-    public Integer rpc_max_threads = Integer.MAX_VALUE;
+    public Integer rpc_min_threads = null;
+    public Integer rpc_max_threads = null;
     public Integer rpc_send_buff_size_in_bytes;
     public Integer rpc_recv_buff_size_in_bytes;
 

Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=1180158&r1=1180157&r2=1180158&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java (original)
+++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/config/DatabaseDescriptor.java Fri Oct  7 19:08:20 2011
@@ -366,7 +366,15 @@ public class DatabaseDescriptor
 
             if (!CassandraDaemon.rpc_server_types.contains(conf.rpc_server_type.toLowerCase()))
                 throw new ConfigurationException("Unknown rpc_server_type: " + conf.rpc_server_type);
-            
+            if (conf.rpc_min_threads == null)
+                conf.rpc_min_threads = conf.rpc_server_type.toLowerCase().equals("hsha")
+                                     ? Runtime.getRuntime().availableProcessors()
+                                     : 16;
+            if (conf.rpc_max_threads == null)
+                conf.rpc_max_threads = conf.rpc_server_type.toLowerCase().equals("hsha")
+                                     ? Runtime.getRuntime().availableProcessors()
+                                     : Integer.MAX_VALUE;
+
             /* data file and commit log directories. they get created later, when they're needed. */
             if (conf.commitlog_directory != null && conf.data_file_directories != null && conf.saved_caches_directory != null)
             {

Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/hadoop/ColumnFamilyOutputFormat.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/hadoop/ColumnFamilyOutputFormat.java?rev=1180158&r1=1180157&r2=1180158&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/hadoop/ColumnFamilyOutputFormat.java (original)
+++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/hadoop/ColumnFamilyOutputFormat.java Fri Oct  7 19:08:20 2011
@@ -30,7 +30,7 @@ import java.util.Map;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import org.apache.cassandra.auth.SimpleAuthenticator;
+import org.apache.cassandra.auth.IAuthenticator;
 import org.apache.cassandra.thrift.*;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.mapreduce.*;
@@ -154,8 +154,8 @@ public class ColumnFamilyOutputFormat ex
         if (ConfigHelper.getOutputKeyspaceUserName(conf) != null)
         {
             Map<String, String> creds = new HashMap<String, String>();
-            creds.put(SimpleAuthenticator.USERNAME_KEY, ConfigHelper.getOutputKeyspaceUserName(conf));
-            creds.put(SimpleAuthenticator.PASSWORD_KEY, ConfigHelper.getOutputKeyspacePassword(conf));
+            creds.put(IAuthenticator.USERNAME_KEY, ConfigHelper.getOutputKeyspaceUserName(conf));
+            creds.put(IAuthenticator.PASSWORD_KEY, ConfigHelper.getOutputKeyspacePassword(conf));
             AuthenticationRequest authRequest = new AuthenticationRequest(creds);
             client.login(authRequest);
         }

Modified: cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java?rev=1180158&r1=1180157&r2=1180158&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java (original)
+++ cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java Fri Oct  7 19:08:20 2011
@@ -31,7 +31,7 @@ import java.util.*;
 
 import com.google.common.collect.AbstractIterator;
 
-import org.apache.cassandra.auth.SimpleAuthenticator;
+import org.apache.cassandra.auth.IAuthenticator;
 import org.apache.cassandra.config.ConfigurationException;
 import org.apache.cassandra.db.IColumn;
 import org.apache.cassandra.db.marshal.AbstractType;
@@ -120,8 +120,8 @@ public class ColumnFamilyRecordReader ex
             if (ConfigHelper.getInputKeyspaceUserName(conf) != null)
             {
                 Map<String, String> creds = new HashMap<String, String>();
-                creds.put(SimpleAuthenticator.USERNAME_KEY, ConfigHelper.getInputKeyspaceUserName(conf));
-                creds.put(SimpleAuthenticator.PASSWORD_KEY, ConfigHelper.getInputKeyspacePassword(conf));
+                creds.put(IAuthenticator.USERNAME_KEY, ConfigHelper.getInputKeyspaceUserName(conf));
+                creds.put(IAuthenticator.PASSWORD_KEY, ConfigHelper.getInputKeyspacePassword(conf));
                 AuthenticationRequest authRequest = new AuthenticationRequest(creds);
                 client.login(authRequest);
             }

Modified: cassandra/branches/cassandra-1.0/tools/stress/bin/stress.bat
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/tools/stress/bin/stress.bat?rev=1180158&r1=1180157&r2=1180158&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/tools/stress/bin/stress.bat (original)
+++ cassandra/branches/cassandra-1.0/tools/stress/bin/stress.bat Fri Oct  7 19:08:20 2011
@@ -13,6 +13,8 @@
 @REM  See the License for the specific language governing permissions and
 @REM  limitations under the License.
 
+@echo off
+
 if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%CD%\..\..
 if NOT DEFINED STRESS_HOME set STRESS_HOME=%CD%