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;
- }
}