Author: gdusbabek
Date: Fri Nov 19 15:29:01 2010
New Revision: 1036899
URL: http://svn.apache.org/viewvc?rev=1036899&view=rev
Log:
remove locks from UpdateColumnFamily. patch by jbellis, reviewed by gdusbabek.
CASSANDRA-1715
Modified:
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
cassandra/trunk/src/java/org/apache/cassandra/db/migration/UpdateColumnFamily.java
Modified:
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL:
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1036899&r1=1036898&r2=1036899&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java Fri
Nov 19 15:29:01 2010
@@ -131,11 +131,11 @@ public class ColumnFamilyStore implement
public final CFMetaData metadata;
/* These are locally held copies to be changed from the config during
runtime */
- private DefaultInteger minCompactionThreshold;
- private DefaultInteger maxCompactionThreshold;
- private DefaultInteger memtime;
- private DefaultInteger memsize;
- private DefaultDouble memops;
+ private volatile DefaultInteger minCompactionThreshold;
+ private volatile DefaultInteger maxCompactionThreshold;
+ private volatile DefaultInteger memtime;
+ private volatile DefaultInteger memsize;
+ private volatile DefaultDouble memops;
private final Runnable rowCacheSaverTask = new WrappedRunnable()
{
@@ -155,8 +155,6 @@ public class ColumnFamilyStore implement
public void reload()
{
- assert Table.flusherLock.writeLock().isHeldByCurrentThread();
-
// metadata object has been mutated directly. make all the members
jibe with new settings.
// only update these runtime-modifiable settings if they have not been
modified.
Modified:
cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
URL:
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java?rev=1036899&r1=1036898&r2=1036899&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
Fri Nov 19 15:29:01 2010
@@ -464,7 +464,7 @@ public class CommitLog
}
header.turnOff(id);
- if (header.isSafeToDelete())
+ if (header.isSafeToDelete() && iter.hasNext())
{
logger.info("Discarding obsolete commit log:" + segment);
segment.close();
Modified:
cassandra/trunk/src/java/org/apache/cassandra/db/migration/UpdateColumnFamily.java
URL:
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/migration/UpdateColumnFamily.java?rev=1036899&r1=1036898&r2=1036899&view=diff
==============================================================================
---
cassandra/trunk/src/java/org/apache/cassandra/db/migration/UpdateColumnFamily.java
(original)
+++
cassandra/trunk/src/java/org/apache/cassandra/db/migration/UpdateColumnFamily.java
Fri Nov 19 15:29:01 2010
@@ -70,24 +70,14 @@ public class UpdateColumnFamily extends
void applyModels() throws IOException
{
- acquireLocks();
- try
- {
- logger.debug("Updating " + metadata + " to " + metadata);
-
- DatabaseDescriptor.setTableDefinition(null, newVersion);
-
- if (!clientMode)
- {
- Table table = Table.open(metadata.tableName);
-
- ColumnFamilyStore oldCfs =
table.getColumnFamilyStore(metadata.cfName);
- oldCfs.reload();
- }
- }
- finally
+ logger.debug("Updating " + metadata + " to " + metadata);
+ DatabaseDescriptor.setTableDefinition(null, newVersion);
+
+ if (!clientMode)
{
- releaseLocks();
+ Table table = Table.open(metadata.tableName);
+ ColumnFamilyStore oldCfs =
table.getColumnFamilyStore(metadata.cfName);
+ oldCfs.reload();
}
}