Merge branch 'cassandra-2.0' into trunk

Conflicts:
        src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
        src/java/org/apache/cassandra/db/ColumnFamilyStore.java
        tools/stress/src/org/apache/cassandra/stress/Session.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d8e9bf17
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d8e9bf17
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d8e9bf17

Branch: refs/heads/trunk
Commit: d8e9bf172f459caed01fadd90be40a9f0857d60b
Parents: 4b54b8a f6a7a5b
Author: Jason Brown <[email protected]>
Authored: Fri Jan 31 05:46:23 2014 -0800
Committer: Jason Brown <[email protected]>
Committed: Fri Jan 31 05:46:23 2014 -0800

----------------------------------------------------------------------
 .rat-excludes                                   |   2 +-
 CHANGES.txt                                     |   5 +-
 doc/cql3/CQL.textile                            |  10 +-
 .../org/apache/cassandra/cli/CliOptions.java    |  45 ++++++-
 .../cql3/statements/BatchStatement.java         |   5 +-
 .../cql3/statements/ModificationStatement.java  |   6 +-
 .../cql3/statements/SelectStatement.java        |  11 +-
 .../apache/cassandra/db/ColumnFamilyStore.java  |  32 ++++-
 .../apache/cassandra/io/sstable/Descriptor.java |  20 ++-
 .../apache/cassandra/io/sstable/SSTable.java    |   2 +-
 .../org/apache/cassandra/io/util/FileUtils.java |   2 +-
 .../cassandra/streaming/StreamLockfile.java     | 121 +++++++++++++++++++
 .../cassandra/streaming/StreamReader.java       |   5 +-
 .../cassandra/streaming/StreamReceiveTask.java  |  72 ++++++++---
 .../cassandra/streaming/StreamSession.java      |  27 ++++-
 .../cassandra/streaming/StreamTransferTask.java |  10 +-
 .../compress/CompressedStreamReader.java        |   4 +-
 .../streaming/messages/FileMessage.java         | 112 -----------------
 .../streaming/messages/IncomingFileMessage.java |  78 ++++++++++++
 .../streaming/messages/OutgoingFileMessage.java |  92 ++++++++++++++
 .../streaming/messages/StreamMessage.java       |  18 ++-
 .../cassandra/db/BatchlogManagerTest.java       |  17 +++
 22 files changed, 528 insertions(+), 168 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8e9bf17/CHANGES.txt
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8e9bf17/doc/cql3/CQL.textile
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8e9bf17/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8e9bf17/src/java/org/apache/cassandra/cql3/statements/ModificationStatement.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8e9bf17/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8e9bf17/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 540f1ce,8750026..76772f4
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@@ -74,6 -67,8 +75,9 @@@ import org.apache.cassandra.io.util.Fil
  import org.apache.cassandra.metrics.ColumnFamilyMetrics;
  import org.apache.cassandra.service.CacheService;
  import org.apache.cassandra.service.StorageService;
++
+ import org.apache.cassandra.streaming.StreamLockfile;
+ import org.apache.cassandra.thrift.IndexExpression;
  import org.apache.cassandra.tracing.Tracing;
  import org.apache.cassandra.utils.*;
  
@@@ -460,11 -424,35 +464,35 @@@ public class ColumnFamilyStore implemen
       * Removes unnecessary files from the cf directory at startup: these 
include temp files, orphans, zero-length files
       * and compacted sstables. Files that cannot be recognized will be 
ignored.
       */
 -    public static void scrubDataDirectories(String keyspaceName, String 
columnFamily)
 +    public static void scrubDataDirectories(CFMetaData metadata)
      {
-         logger.debug("Removing compacted SSTable files from {} (see 
http://wiki.apache.org/cassandra/MemtableSSTable)", metadata.cfName);
- 
 -        Directories directories = Directories.create(keyspaceName, 
columnFamily);
 +        Directories directories = new Directories(metadata);
+ 
+         // remove any left-behind SSTables from failed/stalled streaming
+         FileFilter filter = new FileFilter()
+         {
+             public boolean accept(File pathname)
+             {
+                 return pathname.toString().endsWith(StreamLockfile.FILE_EXT);
+             }
+         };
+         for (File dir : directories.getCFDirectories())
+         {
+             File[] lockfiles = dir.listFiles(filter);
+             if (lockfiles.length == 0)
+                 continue;
+             logger.info("Removing SSTables from failed streaming session. 
Found {} files to cleanup.", lockfiles.length);
+ 
+             for (File lockfile : lockfiles)
+             {
+                 StreamLockfile streamLockfile = new StreamLockfile(lockfile);
+                 streamLockfile.cleanup();
+                 streamLockfile.delete();
+             }
+         }
+ 
+         logger.debug("Removing compacted SSTable files from {} (see 
http://wiki.apache.org/cassandra/MemtableSSTable)", columnFamily);
+ 
          for (Map.Entry<Descriptor,Set<Component>> sstableFiles : 
directories.sstableLister().list().entrySet())
          {
              Descriptor desc = sstableFiles.getKey();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8e9bf17/src/java/org/apache/cassandra/io/sstable/Descriptor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8e9bf17/src/java/org/apache/cassandra/io/sstable/SSTable.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8e9bf17/src/java/org/apache/cassandra/io/util/FileUtils.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8e9bf17/src/java/org/apache/cassandra/streaming/StreamSession.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8e9bf17/test/unit/org/apache/cassandra/db/BatchlogManagerTest.java
----------------------------------------------------------------------

Reply via email to