From f07804e0d0cf57bc6e1e2924a7b926d55408f640 Mon Sep 17 00:00:00 2001 From: Sylvain Lebresne Date: Thu, 14 Mar 2013 10:19:05 +0100 Subject: [PATCH 1/2] Update versions and license for 1.2.3 --- build.xml | 2 +- debian/changelog | 6 +++++ .../apache/cassandra/MethodComparator.java | 21 +++++++++++++++++ .../cassandra/OrderedJUnit4ClassRunner.java | 23 ++++++++++++++++++- 4 files changed, 50 insertions(+), 2 deletions(-) diff --git a/build.xml b/build.xml index 1ab9c94b49..049ee8f8dd 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/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 +} From ffc9bece4854c8f6aae7f672e262897d06fce50d Mon Sep 17 00:00:00 2001 From: Yuki Morishita Date: Thu, 14 Mar 2013 15:57:37 -0500 Subject: [PATCH 2/2] Fix race when opening ColumnFamilyStore; patch by yukim reviewed by jbellis for CASSANDRA-5350 --- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 6 ------ src/java/org/apache/cassandra/db/MeteredFlusher.java | 2 +- .../apache/cassandra/service/AbstractCassandraDaemon.java | 8 ++++---- 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index da81b66069..89c8b10548 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -6,6 +6,7 @@ * 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.1.10 diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java index 27818002c1..8d239e3a4d 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@ -99,12 +99,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 columnFamily; 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 ca1fafac23..199d2eeee4 100644 --- a/src/java/org/apache/cassandra/db/MeteredFlusher.java +++ b/src/java/org/apache/cassandra/db/MeteredFlusher.java @@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory; import org.apache.cassandra.config.DatabaseDescriptor; -class MeteredFlusher implements Runnable +public class MeteredFlusher implements Runnable { private static Logger logger = LoggerFactory.getLogger(MeteredFlusher.class); diff --git a/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java b/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java index 2a66e7370f..9ab6df2e9a 100644 --- a/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java +++ b/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java @@ -40,10 +40,7 @@ import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.ConfigurationException; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.config.Schema; -import org.apache.cassandra.db.ColumnFamilyStore; -import org.apache.cassandra.db.Directories; -import org.apache.cassandra.db.SystemTable; -import org.apache.cassandra.db.Table; +import org.apache.cassandra.db.*; import org.apache.cassandra.db.commitlog.CommitLog; import org.apache.cassandra.db.compaction.CompactionManager; import org.apache.cassandra.utils.CLibrary; @@ -258,6 +255,9 @@ public abstract class AbstractCassandraDaemon implements 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