You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2011/10/21 23:17:36 UTC
svn commit: r1187547 - in /cassandra/trunk: ./ contrib/
interface/thrift/gen-java/org/apache/cassandra/thrift/
src/java/org/apache/cassandra/db/compaction/
src/java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/utils/
Author: jbellis
Date: Fri Oct 21 21:17:35 2011
New Revision: 1187547
URL: http://svn.apache.org/viewvc?rev=1187547&view=rev
Log:
merge from 1.0
Modified:
cassandra/trunk/ (props changed)
cassandra/trunk/CHANGES.txt
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/db/compaction/CompactionManager.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/thrift/CassandraDaemon.java
cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java
Propchange: cassandra/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct 21 21:17:35 2011
@@ -4,7 +4,7 @@
/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1186803,1187333,1187339,1187477
/cassandra/branches/cassandra-0.8.0:1125021-1130369
/cassandra/branches/cassandra-0.8.1:1101014-1125018
-/cassandra/branches/cassandra-1.0:1167085-1187053,1187334,1187341,1187478
+/cassandra/branches/cassandra-1.0:1167085-1187545
/cassandra/branches/cassandra-1.0.0:1167104-1167229,1167232-1181093,1181741,1181816,1181820,1182951,1183243
/cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
/cassandra/tags/cassandra-0.8.0-rc1:1102511-1125020
Modified: cassandra/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1187547&r1=1187546&r2=1187547&view=diff
==============================================================================
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Fri Oct 21 21:17:35 2011
@@ -10,26 +10,33 @@
* Thrift sockets are not properly buffered (CASSANDRA-3261)
* performance improvement for bytebufferutil compare function (CASSANDRA-3286)
* add system.versions ColumnFamily (CASSANDRA-3140)
+ * reduce network copies (CASSANDRA-3333, 3373)
+ * limit nodetool to 32MB of heap (CASSANDRA-3124)
+ * (CQL) update parser to accept "timestamp" instead of "date" (CASSANDRA-3149)
+ * Fix CLI `show schema` to include "compression_options" (CASSANDRA-3368)
+ * Snapshot to include manifest under LeveledCompactionStrategy (CASSANDRA-3359)
+ * (CQL) SELECT query should allow CF name to be qualified by keyspace (CASSANDRA-3130)
+ * (CQL) Fix internal application error specifying 'using consistency ...'
+ in lower case (CASSANDRA-3366)
+ * fix Deflate compression when compression actually makes the data bigger
+ (CASSANDRA-3370)
+ * optimize UUIDGen to avoid lock contention on InetAddress.getLocalHost
+ (CASSANDRA-3387)
+ * tolerate index being dropped mid-mutation (CASSANDRA-3334, 3313)
+ * CompactionManager is now responsible for checking for new candidates
+ post-task execution, enabling more consistent leveled compaction
+ (CASSANDRA-3391)
+Merged from 0.8:
* (CQL) update grammar to require key clause in DELETE statement
(CASSANDRA-3349)
* (CQL) allow numeric keyspace names in USE statement (CASSANDRA-3350)
- * reduce network copies (CASSANDRA-3333, 3373)
* (Hadoop) skip empty rows when slicing the entire row (CASSANDRA-2855)
+ * Fix handling of tombstone by SSTableExport/Import (CASSANDRA-3357)
* fix ColumnIndexer to use long offsets (CASSANDRA-3358)
- * Fix exception during PIG 'dump' (CASSANDRA-2810)
- * 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)
- * Make Pig storage handle implements LoadMetadata (CASSANDRA-2777)
* Improved CLI exceptions (CASSANDRA-3312)
* Fix handling of tombstone by SSTableExport/Import (CASSANDRA-3357)
* Only count compaction as active (for throttling) when they have
successfully acquired the compaction lock (CASSANDRA-3344)
- * limit nodetool to 32MB of heap (CASSANDRA-3124)
- * (CQL) update parser to accept "timestamp" instead of "date" (CASSANDRA-3149)
- * Fix CLI `show schema` to include "compression_options" (CASSANDRA-3368)
- * Snapshot to include manifest under LeveledCompactionStrategy (CASSANDRA-3359)
- * (CQL) SELECT query should allow CF name to be qualified by keyspace (CASSANDRA-3130)
* Display CLI version string on startup (CASSANDRA-3196)
* (Hadoop) make CFIF try rpc_address or fallback to listen_address
(CASSANDRA-3214)
@@ -38,18 +45,11 @@
* ColumnFamily min_compaction_threshold should be >= 2 (CASSANDRA-3342)
* (Pig) add 0.8+ types and key validation type in schema (CASSANDRA-3280)
* Fix completely removing column metadata using CLI (CASSANDRA-3126)
- * (CQL) Fix internal application error specifying 'using consistency ...'
- in lower case (CASSANDRA-3366)
* CLI `describe cluster;` output should be on separate lines for separate versions
(CASSANDRA-3170)
* fix changing durable_writes keyspace option during CF creation
(CASSANDRA-3292)
- * fix Deflate compression when compression actually makes the data bigger
- (CASSANDRA-3370)
* avoid locking on update when no indexes are involved (CASSANDRA-3386)
- * optimize UUIDGen to avoid lock contention on InetAddress.getLocalHost
- (CASSANDRA-3387)
- * tolerate index being dropped mid-mutation (CASSANDRA-3334, 3313)
* fix assertionError during repair with ordered partitioners (CASSANDRA-3369)
* correctly serialize key_validation_class for avro (CASSANDRA-3391)
* don't expire counter tombstone after streaming (CASSANDRA-3394)
@@ -73,7 +73,7 @@
compressed one (CASSANDRA-3338)
* Fix hsha thrift server (CASSANDRA-3346)
* Make sure repair only stream needed sstables (CASSANDRA-3345)
-Fixes merged from 0.8 below:
+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)
@@ -82,12 +82,17 @@ Fixes merged from 0.8 below:
* (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
Propchange: cassandra/trunk/contrib/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct 21 21:17:35 2011
@@ -4,7 +4,7 @@
/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1186803,1187333,1187339,1187477
/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-1187053,1187334,1187341,1187478
+/cassandra/branches/cassandra-1.0/contrib:1167085-1187545
/cassandra/branches/cassandra-1.0.0/contrib:1167104-1167229,1167232-1181093,1181741,1181816,1181820,1182951,1183243
/cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
/cassandra/tags/cassandra-0.8.0-rc1/contrib:1102511-1125020
Propchange: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct 21 21:17:35 2011
@@ -4,7 +4,7 @@
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1186803,1187333,1187339,1187477
/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-1187053,1187334,1187341,1187478
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167085-1187545
/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167104-1167229,1167232-1181093,1181741,1181816,1181820,1182951,1183243
/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
Propchange: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct 21 21:17:35 2011
@@ -4,7 +4,7 @@
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1186803,1187333,1187339,1187477
/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-1187053,1187334,1187341,1187478
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167085-1187545
/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167104-1167229,1167232-1181093,1181741,1181816,1181820,1182951,1183243
/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
Propchange: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct 21 21:17:35 2011
@@ -4,7 +4,7 @@
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090934-1125013,1125019-1186803,1187333,1187339,1187477
/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-1187053,1187334,1187341,1187478
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167085-1187545
/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167104-1167229,1167232-1181093,1181741,1181816,1181820,1182951,1183243
/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
Propchange: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct 21 21:17:35 2011
@@ -4,7 +4,7 @@
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090934-1125013,1125019-1186803,1187333,1187339,1187477
/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-1187053,1187334,1187341,1187478
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167085-1187545
/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167104-1167229,1167232-1181093,1181741,1181816,1181820,1182951,1183243
/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
Propchange: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct 21 21:17:35 2011
@@ -4,7 +4,7 @@
/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090934-1125013,1125019-1186803,1187333,1187339,1187477
/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-1187053,1187334,1187341,1187478
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167085-1187545
/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167104-1167229,1167232-1181093,1181741,1181816,1181820,1182951,1183243
/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
Modified: cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionManager.java?rev=1187547&r1=1187546&r2=1187547&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionManager.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionManager.java Fri Oct 21 21:17:35 2011
@@ -121,7 +121,8 @@ public class CompactionManager implement
return 0;
AbstractCompactionStrategy strategy = cfs.getCompactionStrategy();
- for (AbstractCompactionTask task : strategy.getBackgroundTasks(getDefaultGcBefore(cfs)))
+ List<AbstractCompactionTask> tasks = strategy.getBackgroundTasks(getDefaultGcBefore(cfs));
+ for (AbstractCompactionTask task : tasks)
{
if (!task.markSSTablesForCompaction())
continue;
@@ -135,6 +136,10 @@ public class CompactionManager implement
task.unmarkSSTables();
}
}
+
+ // newly created sstables might have made other compactions eligible
+ if (!tasks.isEmpty())
+ submitBackground(cfs);
}
finally
{
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=1187547&r1=1187546&r2=1187547&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 21 21:17:35 2011
@@ -198,8 +198,6 @@ public class CompactionTask extends Abst
key.cacheKey(entry.getKey(), entry.getValue());
}
- CompactionManager.instance.submitBackground(cfs);
-
long dTime = System.currentTimeMillis() - startTime;
long startsize = SSTable.getTotalBytes(toCompact);
long endsize = SSTable.getTotalBytes(sstables);
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=1187547&r1=1187546&r2=1187547&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 21 21:17:35 2011
@@ -78,16 +78,6 @@ public class LeveledCompactionStrategy e
// override min/max for this strategy
cfs.setMaximumCompactionThreshold(Integer.MAX_VALUE);
cfs.setMinimumCompactionThreshold(1);
-
- // TODO this is redundant wrt the kickoff in AbstractCompactionStrategy, once CASSANDRA-X is done
- Runnable runnable = new Runnable()
- {
- public void run()
- {
- CompactionManager.instance.submitBackground(LeveledCompactionStrategy.this.cfs);
- }
- };
- StorageService.optionalTasks.scheduleAtFixedRate(runnable, 5 * 60, 5, TimeUnit.SECONDS);
}
public void shutdown()
Modified: cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraDaemon.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraDaemon.java?rev=1187547&r1=1187546&r2=1187547&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraDaemon.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraDaemon.java Fri Oct 21 21:17:35 2011
@@ -24,6 +24,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.TimeUnit;
import org.apache.cassandra.service.AbstractCassandraDaemon;
@@ -191,9 +192,9 @@ public class CassandraDaemon extends org
// This is NIO selector service but the invocation will be Multi-Threaded with the Executor service.
ExecutorService executorService = new JMXEnabledThreadPoolExecutor(DatabaseDescriptor.getRpcMinThreads(),
DatabaseDescriptor.getRpcMaxThreads(),
- DatabaseDescriptor.getRpcTimeout(),
- TimeUnit.MILLISECONDS,
- new LinkedBlockingQueue<Runnable>(),
+ 60L,
+ TimeUnit.SECONDS,
+ new SynchronousQueue<Runnable>(),
new NamedThreadFactory("RPC-Thread"), "RPC-THREAD-POOL");
TNonblockingServer.Args serverArgs = new TNonblockingServer.Args(serverTransport).inputTransportFactory(inTransportFactory)
.outputTransportFactory(outTransportFactory)
Modified: cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java?rev=1187547&r1=1187546&r2=1187547&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java Fri Oct 21 21:17:35 2011
@@ -679,8 +679,8 @@ public class FBUtilities
DataOutputBuffer buffer = new DataOutputBuffer(size);
serializer.serialize(object, buffer, version);
assert buffer.getLength() == size && buffer.getData().length == size
- : String.format("Final buffer length %s to accomodate data size of %s (predicted %s)",
- buffer.getData().length, buffer.getLength(), size);
+ : String.format("Final buffer length %s to accomodate data size of %s (predicted %s) for %s",
+ buffer.getData().length, buffer.getLength(), size, object);
return buffer.getData();
}
}