cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j...@apache.org
Subject svn commit: r1199269 - in /cassandra/branches/cassandra-1.0: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/hadoop/
Date Tue, 08 Nov 2011 14:46:20 GMT
Author: jake
Date: Tue Nov  8 14:46:20 2011
New Revision: 1199269

URL: http://svn.apache.org/viewvc?rev=1199269&view=rev
Log:
merged from 0.8

Modified:
    cassandra/branches/cassandra-1.0/   (props changed)
    cassandra/branches/cassandra-1.0/CHANGES.txt
    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/hadoop/ColumnFamilyRecordReader.java

Propchange: cassandra/branches/cassandra-1.0/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Nov  8 14:46:20 2011
@@ -1,7 +1,7 @@
 /cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7:1026516-1183000
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1196961,1197786,1198725
+/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1199259
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
 /cassandra/branches/cassandra-1.0:1167106,1167185

Modified: cassandra/branches/cassandra-1.0/CHANGES.txt
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/CHANGES.txt?rev=1199269&r1=1199268&r2=1199269&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/CHANGES.txt (original)
+++ cassandra/branches/cassandra-1.0/CHANGES.txt Tue Nov  8 14:46:20 2011
@@ -1,11 +1,15 @@
 1.0.3
- * (Hadoop) Fix empty row filtering (CASSANDRA-3450)
  * fix invalidate-related test failures (CASSANDRA-3437)
  * add next-gen cqlsh to bin/
  * (CQL) fix handling of rows with no columns (CASSANDRA-3424)
 Merged from 0.8:
  * Make counter shard merging thread safe (CASSANDRA-3178)
-
+ * fix updating CF row_cache_provider (CASSANDRA-3414)
+ * CFMetaData.convertToThrift method to set RowCacheProvider (CASSANDRA-3405)
+ * acquire compactionlock during truncate (CASSANDRA-3399)
+ * fix displaying cfdef entries for super columnfamilies (CASSANDRA-3415)
+ * Make counter shard merging thread safe (CASSANDRA-3178)
+ * Revert CASSANDRA-2855
 
 1.0.2
  * "defragment" rows for name-based queries under STCS (CASSANDRA-2503)
@@ -25,7 +29,6 @@ Merged from 0.8:
  * acquire compactionlock during truncate (CASSANDRA-3399)
  * fix displaying cfdef entries for super columnfamilies (CASSANDRA-3415)
 
-
 1.0.1
  * acquire references during index build to prevent delete problems
    on Windows (CASSANDRA-3314)
@@ -69,6 +72,7 @@ Merged from 0.8:
  * expire dead gossip states based on time (CASSANDRA-2961)
  * improve CompactionTask extensibility (CASSANDRA-3330)
  * Allow one leveled compaction task to kick off another (CASSANDRA-3363)
+ * allow encryption only between datacenters (CASSANDRA-2802)
 Merged from 0.8:
  * fix truncate allowing data to be replayed post-restart (CASSANDRA-3297)
  * make iwriter final in IndexWriter to avoid NPE (CASSANDRA-2863)
@@ -102,7 +106,6 @@ Merged from 0.8:
    (CASSANDRA-3351)
  * remove incorrect optimization from slice read path (CASSANDRA-3390)
  * Fix race in AntiEntropyService (CASSANDRA-3400)
- * allow encryption only between datacenters (CASSANDRA-2802)
 
 1.0.0-final
  * close scrubbed sstable fd before deleting it (CASSANDRA-3318)
@@ -122,27 +125,6 @@ Merged from 0.8:
    compressed one (CASSANDRA-3338)
  * Fix hsha thrift server (CASSANDRA-3346)
  * Make sure repair only stream needed sstables (CASSANDRA-3345)
-Merged from 0.8:
- * Fix tool .bat files when CASSANDRA_HOME contains spaces (CASSANDRA-3258)
- * Force flush of status table when removing/updating token (CASSANDRA-3243)
- * Evict gossip state immediately when a token is taken over by a new IP (CASSANDRA-3259)
- * Fix bug where the failure detector can take too long to mark a host
-   down (CASSANDRA-3273)
- * (Hadoop) allow wrapping ranges in queries (CASSANDRA-3137)
- * (Hadoop) check all interfaces for a match with split location
-   before falling back to random replica (CASSANDRA-3211)
- * (Hadoop) Make Pig storage handle implements LoadMetadata (CASSANDRA-2777)
- * (Hadoop) Fix exception during PIG 'dump' (CASSANDRA-2810)
- * Fix stress COUNTER_GET option (CASSANDRA-3301)
- * 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)
- * Fix handling of tombstone by SSTableExport/Import (CASSANDRA-3357)
- * Fix transposition in cfHistograms (CASSANDRA-3222)
- * Allow using number as DC name when creating keyspace in CQL (CASSANDRA-3239)
- * Force flush of system table after updating/removing a token (CASSANDRA-3243)
-
 
 1.0.0-rc2
  * Log a meaningful warning when a node receives a message for a repair session
@@ -166,7 +148,6 @@ Merged from 0.8:
  * Evict gossip state immediately when a token is taken over by a new IP 
    (CASSANDRA-3259)
 
-
 1.0.0-rc1
  * Update CQL to generate microsecond timestamps by default (CASSANDRA-3227)
  * Fix counting CFMetadata towards Memtable liveRatio (CASSANDRA-3023)
@@ -187,8 +168,7 @@ Merged from 0.8:
  * Don't allow any cache loading exceptions to halt startup (CASSANDRA-3218)
  * Fix sstableloader --ignores option (CASSANDRA-3247)
  * File descriptor limit increased in packaging (CASSANDRA-3206)
- * Fix deadlock in commit log during flush (CASSANDRA-3253)
- 
+ * Fix deadlock in commit log during flush (CASSANDRA-3253) 
 
 1.0.0-beta1
  * removed binarymemtable (CASSANDRA-2692)
@@ -276,6 +256,40 @@ Merged from 0.8:
  * Pluggable compaction strategy (CASSANDRA-1610)
  * Add new broadcast_address config option (CASSANDRA-2491)
 
+0.8.7
+ * Kill server on wrapped OOME such as from FileChannel.map (CASSANDRA-3201)
+ * Allow using quotes in "USE <keyspace>;" CLI command (CASSANDRA-3208)
+ * Log message when a full repair operation completes (CASSANDRA-3207)
+ * Don't allow any cache loading exceptions to halt startup (CASSANDRA-3218)
+ * Fix sstableloader --ignores option (CASSANDRA-3247)
+ * File descriptor limit increased in packaging (CASSANDRA-3206)
+ * Log a meaningfull warning when a node receive a message for a repair session
+   that doesn't exist anymore (CASSANDRA-3256)
+ * Fix FD leak when internode encryption is enabled (CASSANDRA-3257)
+ * FBUtilities.hexToBytes(String) to throw NumberFormatException when string
+   contains non-hex characters (CASSANDRA-3231)
+ * Keep SimpleSnitch proximity ordering unchanged from what the Strategy
+   generates, as intended (CASSANDRA-3262)
+ * remove Scrub from compactionstats when finished (CASSANDRA-3255)
+ * Fix tool .bat files when CASSANDRA_HOME contains spaces (CASSANDRA-3258)
+ * Force flush of status table when removing/updating token (CASSANDRA-3243)
+ * Evict gossip state immediately when a token is taken over by a new IP (CASSANDRA-3259)
+ * Fix bug where the failure detector can take too long to mark a host
+   down (CASSANDRA-3273)
+ * (Hadoop) allow wrapping ranges in queries (CASSANDRA-3137)
+ * (Hadoop) check all interfaces for a match with split location
+   before falling back to random replica (CASSANDRA-3211)
+ * (Hadoop) Make Pig storage handle implements LoadMetadata (CASSANDRA-2777)
+ * (Hadoop) Fix exception during PIG 'dump' (CASSANDRA-2810)
+ * Fix stress COUNTER_GET option (CASSANDRA-3301)
+ * 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)
+ * Fix handling of tombstone by SSTableExport/Import (CASSANDRA-3357)
+ * Fix transposition in cfHistograms (CASSANDRA-3222)
+ * Allow using number as DC name when creating keyspace in CQL (CASSANDRA-3239)
+ * Force flush of system table after updating/removing a token (CASSANDRA-3243)
 
 0.8.6
  * revert CASSANDRA-2388

Propchange: cassandra/branches/cassandra-1.0/contrib/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Nov  8 14:46:20 2011
@@ -1,7 +1,7 @@
 /cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
 /cassandra/branches/cassandra-0.7/contrib:1026516-1183000
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1196961,1197786,1198725
+/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1199259
 /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

Propchange: cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Nov  8 14:46:20 2011
@@ -1,7 +1,7 @@
 /cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1183000
 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1196961,1197786,1198725
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1199259
 /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

Propchange: cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Nov  8 14:46:20 2011
@@ -1,7 +1,7 @@
 /cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1183000
 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1196961,1197786,1198725
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1199259
 /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

Propchange: cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Nov  8 14:46:20 2011
@@ -1,7 +1,7 @@
 /cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1026516-1183000
 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090934-1125013,1125019-1196961,1197786,1198725
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090934-1125013,1125019-1199259
 /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

Propchange: cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Nov  8 14:46:20 2011
@@ -1,7 +1,7 @@
 /cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1026516-1183000
 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090934-1125013,1125019-1196961,1197786,1198725
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090934-1125013,1125019-1199259
 /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

Propchange: cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Nov  8 14:46:20 2011
@@ -1,7 +1,7 @@
 /cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1026516-1183000
 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090934-1125013,1125019-1196961,1197786,1198725
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090934-1125013,1125019-1199259
 /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

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=1199269&r1=1199268&r2=1199269&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
Tue Nov  8 14:46:20 2011
@@ -98,7 +98,7 @@ public class ColumnFamilyRecordReader ex
         batchRowCount = ConfigHelper.getRangeBatchSize(conf);
         cfName = ConfigHelper.getInputColumnFamily(conf);
         consistencyLevel = ConsistencyLevel.valueOf(ConfigHelper.getReadConsistencyLevel(conf));
-
+        
         
         keyspace = ConfigHelper.getInputKeyspace(conf);
         
@@ -235,55 +235,40 @@ public class ColumnFamilyRecordReader ex
             {
                 startToken = split.getStartToken();
             } 
-
-            // The removal of empty CF rows could result in an empty List<KeySlice>
rows.
-            // Keep trying until we return on reaching the end of the range or rows is nonEmpty.
-            while (rows == null || rows.isEmpty()) {
-                if (startToken.equals(split.getEndToken()))
+            else if (startToken.equals(split.getEndToken()))
+            {
+                rows = null;
+                return;
+            }
+            
+            KeyRange keyRange = new KeyRange(batchRowCount)
+                                .setStart_token(startToken)
+                                .setEnd_token(split.getEndToken());
+            try
+            {
+                rows = client.get_range_slices(new ColumnParent(cfName),
+                                               predicate,
+                                               keyRange,
+                                               consistencyLevel);
+                  
+                // nothing new? reached the end
+                if (rows.isEmpty())
                 {
                     rows = null;
                     return;
                 }
-
-                KeyRange keyRange = new KeyRange(batchRowCount)
-                                    .setStart_token(startToken)
-                                    .setEnd_token(split.getEndToken());
-                try
-                {
-                    rows = client.get_range_slices(new ColumnParent(cfName),
-                                                   predicate,
-                                                   keyRange,
-                                                   consistencyLevel);
-
-                    // nothing new? reached the end
-                    if (rows.isEmpty())
-                    {
-                        rows = null;
-                        return;
-                    }
-
-                    // Pre-compute the last row key, before removing empty rows
-                    ByteBuffer lastRowKey = rows.get(rows.size() - 1).key;
-
-                    // only remove empty rows if the slice predicate is empty
-                    if (isPredicateEmpty(predicate))
-                    {
-                        Iterator<KeySlice> rowsIterator = rows.iterator();
-                        while (rowsIterator.hasNext())
-                            if (rowsIterator.next().columns.isEmpty())
-                                rowsIterator.remove();
-                    }
-
-                    // reset to iterate through the new batch
-                    i = 0;
-
-                    // prepare for the next slice to be read
-                    startToken = partitioner.getTokenFactory().toString(partitioner.getToken(lastRowKey));
-                }
-                catch (Exception e)
-                {
-                    throw new RuntimeException(e);
-                }
+                               
+                // reset to iterate through this new batch
+                i = 0;
+                
+                // prepare for the next slice to be read
+                KeySlice lastRow = rows.get(rows.size() - 1);
+                ByteBuffer rowkey = lastRow.key;
+                startToken = partitioner.getTokenFactory().toString(partitioner.getToken(rowkey));
+            }
+            catch (Exception e)
+            {
+                throw new RuntimeException(e);
             }
         }
 
@@ -354,18 +339,4 @@ public class ColumnFamilyRecordReader ex
             return sc;
         }
     }
-
-    private boolean isPredicateEmpty(SlicePredicate predicate)
-    {
-        if (predicate != null)
-            if (predicate.isSetSlice_range())
-            {
-                if (predicate.getSlice_range().getStart() != null || predicate.getSlice_range().getFinish()
!= null)
-                return false;
-            }
-            else if (predicate.isSetColumn_names())
-                return false;
-
-        return true;
-    }
 }



Mime
View raw message