Author: jbellis
Date: Thu Oct 22 17:48:43 2009
New Revision: 828797
URL: http://svn.apache.org/viewvc?rev=828797&view=rev
Log:
merge from 0.4 branch
Modified:
incubator/cassandra/trunk/ (props changed)
incubator/cassandra/trunk/CHANGES.txt
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java
(props changed)
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Column.java
(props changed)
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java
(props changed)
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/NotFoundException.java
(props changed)
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SuperColumn.java
(props changed)
incubator/cassandra/trunk/src/java/org/ (props changed)
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java
incubator/cassandra/trunk/test/unit/org/ (props changed)
Propchange: incubator/cassandra/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,2 +1,2 @@
/incubator/cassandra/branches/cassandra-0.3:774578-796573
-/incubator/cassandra/branches/cassandra-0.4:810145-828133
+/incubator/cassandra/branches/cassandra-0.4:810145-828796
Modified: incubator/cassandra/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/CHANGES.txt?rev=828797&r1=828796&r2=828797&view=diff
==============================================================================
--- incubator/cassandra/trunk/CHANGES.txt (original)
+++ incubator/cassandra/trunk/CHANGES.txt Thu Oct 22 17:48:43 2009
@@ -21,6 +21,7 @@
* Fix using non-utf8-aware comparison as a sanity check.
(CASSANDRA-493)
* Improve default garbage collector options (CASSANDRA-504)
+ * Add "nodeprobe flush" (CASSANDRA-505)
0.4.1
Propchange:
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,3 +1,3 @@
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573
-/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Cassandra.java:810145-828133
+/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Cassandra.java:810145-828796
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Cassandra.java:749219-768588
Propchange:
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,4 +1,4 @@
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198
-/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Column.java:810145-828133
+/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Column.java:810145-828796
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/Column.java:749219-794428
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/column_t.java:749219-768588
Propchange:
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,3 +1,3 @@
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:774578-796573
-/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:810145-828133
+/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:810145-828796
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:749219-768588
Propchange:
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,3 +1,3 @@
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:774578-796573
-/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:810145-828133
+/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:810145-828796
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:749219-768588
Propchange:
incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,4 +1,4 @@
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:774578-792198
-/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:810145-828133
+/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:810145-828796
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:749219-794428
/incubator/cassandra/trunk/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:749219-768588
Propchange: incubator/cassandra/trunk/src/java/org/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,3 +1,3 @@
/incubator/cassandra/branches/cassandra-0.3/src/java/org:774578-796573
-/incubator/cassandra/branches/cassandra-0.4/src/java/org:810145-828133
+/incubator/cassandra/branches/cassandra-0.4/src/java/org:810145-828796
/incubator/cassandra/trunk/src/java/org:749219-769885
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java?rev=828797&r1=828796&r2=828797&view=diff
==============================================================================
---
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
(original)
+++
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
Thu Oct 22 17:48:43 2009
@@ -613,7 +613,13 @@
logger_.debug("Cleared out all snapshot directories");
}
- public void forceTableFlushBinary(String tableName) throws IOException
+ /**
+ * Flush all memtables for a table and column families.
+ * @param tableName
+ * @param columnFamilies
+ * @throws IOException
+ */
+ public void forceTableFlush(String tableName, String... columnFamilies)
throws IOException
{
if (DatabaseDescriptor.getTable(tableName) == null)
{
@@ -621,16 +627,33 @@
}
Table table = Table.open(tableName);
- Set<String> columnFamilies = table.getColumnFamilies();
+ Set<String> positiveColumnFamilies = table.getColumnFamilies();
+
+ // no columnFamilies means flush'em all.
+ if (columnFamilies == null || columnFamilies.length == 0)
+ {
+ columnFamilies = positiveColumnFamilies.toArray(new
String[positiveColumnFamilies.size()]);
+ }
+
for (String columnFamily : columnFamilies)
{
- ColumnFamilyStore cfStore =
table.getColumnFamilyStore(columnFamily);
- logger_.debug("Forcing flush on keyspace " + tableName + " on CF "
+ columnFamily);
- cfStore.forceFlushBinary();
+
+ if (positiveColumnFamilies.contains(columnFamily))
+ {
+ ColumnFamilyStore cfStore =
table.getColumnFamilyStore(columnFamily);
+ logger_.debug("Forcing binary flush on keyspace " + tableName
+ ", CF " + columnFamily);
+ cfStore.forceFlushBinary();
+ logger_.debug("Forcing flush on keyspace " + tableName + ", CF
" + columnFamily);
+ cfStore.forceFlush();
+ }
+ else
+ {
+ // this means there was a cf passed in that is not recognized
in the keyspace. report it and continue.
+ logger_.warn(String.format("Invalid column family specified:
%s. Proceeding with others.", columnFamily));
+ }
}
}
-
/* End of MBean interface methods */
/**
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java?rev=828797&r1=828796&r2=828797&view=diff
==============================================================================
---
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java
(original)
+++
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java
Thu Oct 22 17:48:43 2009
@@ -105,11 +105,13 @@
public void clearSnapshot() throws IOException;
/**
- * Flush all binary memtables for a table
+ * Flush all memtables for the given column families, or all
columnfamilies for the given table
+ * if none are explicitly listed.
* @param tableName
+ * @param columnFamilies
* @throws IOException
*/
- public void forceTableFlushBinary(String tableName) throws IOException;
+ public void forceTableFlush(String tableName, String... columnFamilies)
throws IOException;
/** set the logging level at runtime */
public void setLog4jLevel(String classQualifier, String level);
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java?rev=828797&r1=828796&r2=828797&view=diff
==============================================================================
---
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java
(original)
+++
incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java
Thu Oct 22 17:48:43 2009
@@ -183,9 +183,9 @@
ssProxy.forceTableCompaction();
}
- public void forceTableFlushBinary(String tableName) throws IOException
+ public void forceTableFlush(String tableName, String... columnFamilies)
throws IOException
{
- ssProxy.forceTableFlushBinary(tableName);
+ ssProxy.forceTableFlush(tableName, columnFamilies);
}
/**
@@ -474,7 +474,7 @@
{
HelpFormatter hf = new HelpFormatter();
String header = String.format(
- "%nAvailable commands: ring, info, cleanup, compact, cfstats,
snapshot [name], clearsnapshot, tpstats, flush_binary, " +
+ "%nAvailable commands: ring, info, cleanup, compact, cfstats,
snapshot [name], clearsnapshot, tpstats, flush, " +
" getcompactionthreshold, setcompactionthreshold
[minthreshold] ([maxthreshold])");
String usage = String.format("java %s -host <arg> <command>%n",
NodeProbe.class.getName());
hf.printHelp(usage, "", options, header);
@@ -550,7 +550,7 @@
{
probe.printThreadPoolStats(System.out);
}
- else if (cmdName.equals("flush_binary"))
+ else if (cmdName.equals("flush"))
{
if (probe.getArgs().length < 2)
{
@@ -558,7 +558,13 @@
NodeProbe.printUsage();
System.exit(1);
}
- probe.forceTableFlushBinary(probe.getArgs()[1]);
+
+ String[] columnFamilies = new String[probe.getArgs().length - 2];
+ for (int i = 0; i < columnFamilies.length; i++)
+ {
+ columnFamilies[i] = probe.getArgs()[i + 2];
+ }
+ probe.forceTableFlush(probe.getArgs()[1], columnFamilies);
}
else if (cmdName.equals("getcompactionthreshold"))
{
Propchange: incubator/cassandra/trunk/test/unit/org/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct 22 17:48:43 2009
@@ -1,3 +1,3 @@
/incubator/cassandra/branches/cassandra-0.3/test/unit/org:774578-796573
-/incubator/cassandra/branches/cassandra-0.4/test/unit/org:810145-828133
+/incubator/cassandra/branches/cassandra-0.4/test/unit/org:810145-828796
/incubator/cassandra/trunk/test/unit/org:749219-768583