Author: jbellis
Date: Fri Oct  7 19:13:04 2011
New Revision: 1180164

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

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

Propchange: cassandra/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct  7 19:13:04 2011
@@ -4,8 +4,8 @@
 
/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1178554,1178785,1178957,1179359,1179364
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
-/cassandra/branches/cassandra-1.0:1167085-1179901
-/cassandra/branches/cassandra-1.0.0:1167104-1167229,1167232-1179900
+/cassandra/branches/cassandra-1.0:1167085-1180160
+/cassandra/branches/cassandra-1.0.0:1167104-1167229,1167232-1180157
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1:1102511-1125020
 /incubator/cassandra/branches/cassandra-0.3:774578-796573

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Fri Oct  7 19:13:04 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/trunk/NEWS.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/NEWS.txt?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- cassandra/trunk/NEWS.txt (original)
+++ cassandra/trunk/NEWS.txt Fri Oct  7 19:13:04 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/trunk/README.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/README.txt?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- cassandra/trunk/README.txt (original)
+++ cassandra/trunk/README.txt Fri Oct  7 19:13:04 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/trunk/bin/cassandra.bat
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/bin/cassandra.bat?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- cassandra/trunk/bin/cassandra.bat (original)
+++ cassandra/trunk/bin/cassandra.bat Fri Oct  7 19:13:04 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/trunk/build.xml
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/build.xml?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- cassandra/trunk/build.xml (original)
+++ cassandra/trunk/build.xml Fri Oct  7 19:13:04 2011
@@ -42,6 +42,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" />
@@ -917,6 +918,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">
@@ -948,6 +951,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/trunk/conf/README.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/conf/README.txt?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- cassandra/trunk/conf/README.txt (original)
+++ cassandra/trunk/conf/README.txt Fri Oct  7 19:13:04 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/trunk/conf/cassandra.yaml
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/conf/cassandra.yaml?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- cassandra/trunk/conf/cassandra.yaml (original)
+++ cassandra/trunk/conf/cassandra.yaml Fri Oct  7 19:13:04 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/trunk/contrib/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct  7 19:13:04 2011
@@ -4,8 +4,8 @@
 
/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1178554,1178785,1178957,1179359,1179364
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/contrib:1101014-1125018
-/cassandra/branches/cassandra-1.0/contrib:1167085-1179901
-/cassandra/branches/cassandra-1.0.0/contrib:1167104-1167229,1167232-1179900
+/cassandra/branches/cassandra-1.0/contrib:1167085-1180160
+/cassandra/branches/cassandra-1.0.0/contrib:1167104-1167229,1167232-1180157
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1/contrib:1102511-1125020
 /incubator/cassandra/branches/cassandra-0.3/contrib:774578-796573

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct  7 19:13:04 2011
@@ -4,8 +4,8 @@
 
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1178554,1178785,1178957,1179359,1179364
 
/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:1167085-1179901
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167104-1167229,1167232-1179900
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167085-1180160
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167104-1167229,1167232-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
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct  7 19:13:04 2011
@@ -4,8 +4,8 @@
 
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1178554,1178785,1178957,1179359,1179364
 
/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:1167085-1179901
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167104-1167229,1167232-1179900
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167085-1180160
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167104-1167229,1167232-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
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct  7 19:13:04 2011
@@ -4,8 +4,8 @@
 
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090934-1125013,1125019-1178554,1178785,1178957,1179359,1179364
 
/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:1167085-1179901
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167104-1167229,1167232-1179900
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167085-1180160
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167104-1167229,1167232-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
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:774578-796573

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct  7 19:13:04 2011
@@ -4,8 +4,8 @@
 
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090934-1125013,1125019-1178554,1178785,1178957,1179359,1179364
 
/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:1167085-1179901
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167104-1167229,1167232-1179900
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167085-1180160
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167104-1167229,1167232-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
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:774578-796573

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct  7 19:13:04 2011
@@ -4,8 +4,8 @@
 
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090934-1125013,1125019-1178554,1178785,1178957,1179359,1179364
 
/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:1167085-1179901
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167104-1167229,1167232-1179900
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167085-1180160
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167104-1167229,1167232-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
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:774578-792198

Modified: cassandra/trunk/src/java/org/apache/cassandra/auth/IAuthenticator.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/auth/IAuthenticator.java?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/auth/IAuthenticator.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/auth/IAuthenticator.java Fri 
Oct  7 19:13:04 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/trunk/src/java/org/apache/cassandra/cli/CliClient.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java Fri Oct  7 
19:13:04 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/trunk/src/java/org/apache/cassandra/cli/CliMain.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cli/CliMain.java?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/cli/CliMain.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cli/CliMain.java Fri Oct  7 
19:13:04 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/trunk/src/java/org/apache/cassandra/config/Config.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/config/Config.java?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/config/Config.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/config/Config.java Fri Oct  7 
19:13:04 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/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java 
(original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java 
Fri Oct  7 19:13:04 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/trunk/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionTask.java?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionTask.java 
(original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionTask.java 
Fri Oct  7 19:13:04 2011
@@ -39,7 +39,7 @@ import org.apache.cassandra.utils.Closea
 
 public class CompactionTask extends AbstractCompactionTask
 {
-    private static final Logger logger = 
LoggerFactory.getLogger(CompactionTask.class);
+    protected static final Logger logger = 
LoggerFactory.getLogger(CompactionTask.class);
     protected String compactionFileLocation;
     protected final int gcBefore;
     protected boolean isUserDefined;
@@ -70,20 +70,13 @@ public class CompactionTask extends Abst
         assert sstables != null;
 
         Set<SSTableReader> toCompact = new HashSet<SSTableReader>(sstables);
-        if (!isUserDefined)
-        {
-            if (!allowSingletonCompaction() && toCompact.size() < 2)
-            {
-                String msg = "Nothing to compact in " + 
cfs.getColumnFamilyName();
-                if (cfs.getCompactionStrategy() instanceof 
SizeTieredCompactionStrategy)
-                    msg += ".  Use forceUserDefinedCompaction if you wish to 
force compaction of single sstables (e.g. for tombstone collection)";
-                logger.info(msg);
-                return 0;
-            }
-
-            if (compactionFileLocation == null)
-                compactionFileLocation = 
cfs.table.getDataFileLocation(cfs.getExpectedCompactedFileSize(toCompact));
+        if (!isCompactionInteresting(toCompact))
+            return 0;
 
+        if (compactionFileLocation == null)
+            compactionFileLocation = 
cfs.table.getDataFileLocation(cfs.getExpectedCompactedFileSize(toCompact));
+        if (partialCompactionsAcceptable())
+        {
             // If the compaction file path is null that means we have no space 
left for this compaction.
             // Try again w/o the largest one.
             if (compactionFileLocation == null)
@@ -219,12 +212,17 @@ public class CompactionTask extends Abst
         builder.append("]");
 
         double mbps = dTime > 0 ? 
(double)endsize/(1024*1024)/((double)dTime/1000) : 0;
-        logger.info(String.format("Compacted to %s.  %,d to %,d (~%d%% of 
original) bytes for %,d keys at %fMBPS.  Time: %,dms.",
+        logger.info(String.format("Compacted to %s.  %,d to %,d (~%d%% of 
original) bytes for %,d keys at %fMB/s.  Time: %,dms.",
                                   builder.toString(), startsize, endsize, 
(int) (ratio * 100), totalkeysWritten, mbps, dTime));
         logger.debug(String.format("CF Total Bytes Compacted: %,d", 
CompactionTask.addToTotalBytesCompacted(endsize)));
         return toCompact.size();
     }
 
+    protected boolean partialCompactionsAcceptable()
+    {
+        return !isUserDefined;
+    }
+
     //extensibility point for other strategies that may want to limit the 
upper bounds of the sstable segment size
     protected boolean newSSTableSegmentThresholdReached(SSTableWriter writer, 
long position)
     {
@@ -232,11 +230,15 @@ public class CompactionTask extends Abst
     }
 
     /**
-     * extend this if the overridden compaction strategy requires single files 
to be compacted to function properly
-     * @return boolean
+     * @return true if the proposed compaction is worth proceeding with.  We 
allow leveled compaction to
+     * override this to allow "promoting" sstables from one level to another 
w/o rewriting them, if there is no overlapping.
      */
-    protected boolean allowSingletonCompaction()
+    protected boolean isCompactionInteresting(Set<SSTableReader> toCompact)
     {
+        if (isUserDefined || toCompact.size() >= 2)
+            return true;
+        logger.info(String.format("Nothing to compact in %s.  Use 
forceUserDefinedCompaction if you wish to force compaction of single sstables 
(e.g. for tombstone collection)",
+                                   cfs.getColumnFamilyName()));
         return false;
     }
 

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
 (original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
 Fri Oct  7 19:13:04 2011
@@ -43,7 +43,7 @@ public class LeveledCompactionStrategy e
 {
     private static final Logger logger = 
LoggerFactory.getLogger(LeveledCompactionStrategy.class);
 
-    private LeveledManifest manifest;
+    private final LeveledManifest manifest;
     private final String SSTABLE_SIZE_OPTION = "sstable_size_in_mb";
     private final int maxSSTableSizeInMB;
     private final AtomicReference<LeveledCompactionTask> task = new 
AtomicReference<LeveledCompactionTask>();
@@ -144,13 +144,11 @@ public class LeveledCompactionStrategy e
         {
             SSTableAddedNotification flushedNotification = 
(SSTableAddedNotification) notification;
             manifest.add(flushedNotification.added);
-            manifest.logDistribution();
         }
         else if (notification instanceof SSTableListChangedNotification)
         {
             SSTableListChangedNotification listChangedNotification = 
(SSTableListChangedNotification) notification;
             manifest.promote(listChangedNotification.removed, 
listChangedNotification.added);
-            manifest.logDistribution();
         }
     }
 

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledCompactionTask.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledCompactionTask.java?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledCompactionTask.java
 (original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledCompactionTask.java
 Fri Oct  7 19:13:04 2011
@@ -21,11 +21,19 @@ package org.apache.cassandra.db.compacti
  */
 
 
+import java.io.File;
 import java.io.IOException;
 import java.util.Collection;
+import java.util.Set;
 import java.util.concurrent.CountDownLatch;
 
+import com.google.common.collect.Iterables;
+
+import org.apache.commons.lang.StringUtils;
+
+import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.db.ColumnFamilyStore;
+import org.apache.cassandra.db.Table;
 import org.apache.cassandra.io.sstable.SSTableReader;
 import org.apache.cassandra.io.sstable.SSTableWriter;
 
@@ -61,8 +69,14 @@ public class LeveledCompactionTask exten
     }
 
     @Override
-    protected boolean allowSingletonCompaction()
+    protected boolean isCompactionInteresting(Set<SSTableReader> toCompact)
     {
         return true;
     }
+
+    @Override
+    protected boolean partialCompactionsAcceptable()
+    {
+        return false;
+    }
 }

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
 (original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
 Fri Oct  7 19:13:04 2011
@@ -129,6 +129,7 @@ public class LeveledManifest
 
     public synchronized void add(SSTableReader reader)
     {
+        logDistribution();
         logger.debug("Adding {} to L0", reader);
         add(reader, 0);
         serialize();
@@ -150,6 +151,7 @@ public class LeveledManifest
 
     public synchronized void promote(Iterable<SSTableReader> removed, 
Iterable<SSTableReader> added)
     {
+        logDistribution();
         if (logger.isDebugEnabled())
             logger.debug((Iterables.isEmpty(added) ? "Removing [" : "Replacing 
[") + toString(removed) + "]");
 
@@ -206,8 +208,6 @@ public class LeveledManifest
 
     public synchronized Collection<SSTableReader> getCompactionCandidates()
     {
-        logDistribution();
-
         // LevelDB gives each level a score of how much data it contains vs 
its ideal amount, and
         // compacts the level with the highest score. But this falls apart 
spectacularly once you
         // get behind.  Consider this set of levels:
@@ -257,7 +257,7 @@ public class LeveledManifest
         return generations.length > i ? generations[i].size() : 0;
     }
 
-    public void logDistribution()
+    private void logDistribution()
     {
         for (int i = 0; i < generations.length; i++)
         {

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyOutputFormat.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyOutputFormat.java?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyOutputFormat.java
 (original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyOutputFormat.java
 Fri Oct  7 19:13:04 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/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
 (original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordReader.java
 Fri Oct  7 19:13:04 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/trunk/tools/stress/bin/stress.bat
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/tools/stress/bin/stress.bat?rev=1180164&r1=1180163&r2=1180164&view=diff
==============================================================================
--- cassandra/trunk/tools/stress/bin/stress.bat (original)
+++ cassandra/trunk/tools/stress/bin/stress.bat Fri Oct  7 19:13:04 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%
 


Reply via email to