diff --git a/CHANGES.txt b/CHANGES.txt
index 0e8b9002f4..13abbd987e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -47,6 +47,7 @@ Merged from 1.1:
* nodetool: ability to repair specific range (CASSANDRA-5280)
* Fix possible assertion triggered in SliceFromReadCommand (CASSANDRA-5284)
* cqlsh: Add inet type support on Windows (ipv4-only) (CASSANDRA-4801)
+ * Fix race when initializing ColumnFamilyStore (CASSANDRA-5350)
1.2.2
diff --git a/build.xml b/build.xml
index d32cbfa17c..c385694c0c 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
-
+
diff --git a/debian/changelog b/debian/changelog
index 0a71ffb44e..e0bc2a7005 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (1.2.3) unstable; urgency=low
+
+ * New release
+
+ -- Sylvain Lebresne Thu, 14 Mar 2013 09:52:16 +0100
+
cassandra (1.2.2) unstable; urgency=low
* New release
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 8c4b017b73..4de1ebdba8 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -83,12 +83,6 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
public static final ExecutorService postFlushExecutor = new JMXEnabledThreadPoolExecutor("MemtablePostFlusher");
- static
- {
- // (can block if flush queue fills up, so don't put on scheduledTasks)
- StorageService.optionalTasks.scheduleWithFixedDelay(new MeteredFlusher(), 1000, 1000, TimeUnit.MILLISECONDS);
- }
-
public final Table table;
public final String name;
public final CFMetaData metadata;
diff --git a/src/java/org/apache/cassandra/db/MeteredFlusher.java b/src/java/org/apache/cassandra/db/MeteredFlusher.java
index 798494405f..408727c4b0 100644
--- a/src/java/org/apache/cassandra/db/MeteredFlusher.java
+++ b/src/java/org/apache/cassandra/db/MeteredFlusher.java
@@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
import org.apache.cassandra.config.DatabaseDescriptor;
-class MeteredFlusher implements Runnable
+public class MeteredFlusher implements Runnable
{
private static final Logger logger = LoggerFactory.getLogger(MeteredFlusher.class);
diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java b/src/java/org/apache/cassandra/service/CassandraDaemon.java
index 2d83f8a6e8..67c2bf21be 100644
--- a/src/java/org/apache/cassandra/service/CassandraDaemon.java
+++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java
@@ -326,6 +326,9 @@ public class CassandraDaemon
};
StorageService.optionalTasks.schedule(runnable, 5 * 60, TimeUnit.SECONDS);
+ // MeteredFlusher can block if flush queue fills up, so don't put on scheduledTasks
+ StorageService.optionalTasks.scheduleWithFixedDelay(new MeteredFlusher(), 1000, 1000, TimeUnit.MILLISECONDS);
+
SystemTable.finishStartup();
// start server internals
diff --git a/test/unit/org/apache/cassandra/MethodComparator.java b/test/unit/org/apache/cassandra/MethodComparator.java
index 690ae57ea3..8cc163a454 100644
--- a/test/unit/org/apache/cassandra/MethodComparator.java
+++ b/test/unit/org/apache/cassandra/MethodComparator.java
@@ -1,4 +1,25 @@
package org.apache.cassandra;
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
import org.junit.Ignore;
import org.junit.runners.model.FrameworkMethod;
diff --git a/test/unit/org/apache/cassandra/OrderedJUnit4ClassRunner.java b/test/unit/org/apache/cassandra/OrderedJUnit4ClassRunner.java
index d84aedbaff..d0dec24cd0 100644
--- a/test/unit/org/apache/cassandra/OrderedJUnit4ClassRunner.java
+++ b/test/unit/org/apache/cassandra/OrderedJUnit4ClassRunner.java
@@ -1,4 +1,25 @@
package org.apache.cassandra;
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
import org.junit.runners.BlockJUnit4ClassRunner;
import org.junit.runners.model.FrameworkMethod;
@@ -31,4 +52,4 @@ public class OrderedJUnit4ClassRunner extends BlockJUnit4ClassRunner
return list;
}
}
-}
\ No newline at end of file
+}