Author: gdusbabek
Date: Fri Nov 19 15:26:58 2010
New Revision: 1036887

URL: http://svn.apache.org/viewvc?rev=1036887&view=rev
Log:
take drop off CompactionManager. patch by gdusbabek, reviewe by jbellis. 
CASSANDRA-1715

Modified:
    cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java
    
cassandra/trunk/src/java/org/apache/cassandra/db/migration/DropColumnFamily.java
    cassandra/trunk/src/java/org/apache/cassandra/db/migration/DropKeyspace.java

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java?rev=1036887&r1=1036886&r2=1036887&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java Fri 
Nov 19 15:26:58 2010
@@ -488,30 +488,6 @@ public class CompactionManager implement
         }
         return tablePairs;
     }
-
-    public Future submitDrop(final ColumnFamilyStore... stores)
-    {
-        Callable callable = new Callable()
-        {
-            public Object call() throws IOException
-            {
-                for (ColumnFamilyStore cfs : stores)
-                {
-                    Table.flusherLock.writeLock().lock();
-                    try
-                    {
-                        cfs.table.dropCf(cfs.metadata.cfId);
-                    }
-                    finally
-                    {
-                        Table.flusherLock.writeLock().unlock();
-                    }
-                }
-                return null;
-            }
-        };
-        return executor.submit(callable);
-    }
     
     public Future submitIndexBuild(final ColumnFamilyStore cfs, final 
Table.IndexBuilder builder)
     {

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/migration/DropColumnFamily.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/migration/DropColumnFamily.java?rev=1036887&r1=1036886&r2=1036887&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/db/migration/DropColumnFamily.java
 (original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/db/migration/DropColumnFamily.java
 Fri Nov 19 15:26:58 2010
@@ -5,18 +5,15 @@ import org.apache.cassandra.config.Confi
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.config.KSMetaData;
 import org.apache.cassandra.db.ColumnFamilyStore;
-import org.apache.cassandra.db.CompactionManager;
 import org.apache.cassandra.db.SystemTable;
 import org.apache.cassandra.db.Table;
 import org.apache.cassandra.db.commitlog.CommitLog;
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.utils.UUIDGen;
 
-import java.io.IOError;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.concurrent.ExecutionException;
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -88,30 +85,13 @@ public class DropColumnFamily extends Mi
         // reinitialize the table.
         KSMetaData existing = DatabaseDescriptor.getTableDefinition(tableName);
         CFMetaData cfm = existing.cfMetaData().get(cfName);
-        ColumnFamilyStore cfs = 
Table.open(cfm.tableName).getColumnFamilyStore(cfName);
         KSMetaData ksm = makeNewKeyspaceDefinition(existing);
         CFMetaData.purge(cfm);
         DatabaseDescriptor.setTableDefinition(ksm, newVersion);
         
         if (!clientMode)
         {
-            try
-            {
-                CompactionManager.instance.submitDrop(cfs).get();
-            }
-            catch (InterruptedException ex)
-            {
-                throw new IOException(ex);
-            }
-            catch (ExecutionException ex)
-            {
-                // if the compaction manager catches IOException, it wraps it 
in an IOError and rethrows, which should
-                // get caught be the executor and rethrown as an 
ExecutionException.
-                if (ex.getCause() instanceof IOException)
-                    throw (IOException)ex.getCause();
-                else
-                    throw new IOException(ex);
-            }
+            Table.open(ksm.name).dropCf(cfm.cfId);
         }
     }
     

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/migration/DropKeyspace.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/migration/DropKeyspace.java?rev=1036887&r1=1036886&r2=1036887&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/db/migration/DropKeyspace.java 
(original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/db/migration/DropKeyspace.java 
Fri Nov 19 15:26:58 2010
@@ -22,8 +22,6 @@ import org.apache.cassandra.config.CFMet
 import org.apache.cassandra.config.ConfigurationException;
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.config.KSMetaData;
-import org.apache.cassandra.db.ColumnFamilyStore;
-import org.apache.cassandra.db.CompactionManager;
 import org.apache.cassandra.db.HintedHandOffManager;
 import org.apache.cassandra.db.SystemTable;
 import org.apache.cassandra.db.Table;
@@ -31,9 +29,7 @@ import org.apache.cassandra.db.commitlog
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.utils.UUIDGen;
 
-import java.io.IOError;
 import java.io.IOException;
-import java.util.concurrent.ExecutionException;
 
 public class DropKeyspace extends Migration
 {
@@ -72,26 +68,11 @@ public class DropKeyspace extends Migrat
         
         // remove all cfs from the table instance.
         for (CFMetaData cfm : ksm.cfMetaData().values())
-            CFMetaData.purge(cfm);
-        
-        if (!clientMode)
         {
-            try
-            {
-                
CompactionManager.instance.submitDrop(table.getColumnFamilyStores().toArray(new 
ColumnFamilyStore[0])).get();
-            }
-            catch (InterruptedException ex)
-            {
-                throw new IOException(ex);
-            }
-            catch (ExecutionException ex)
+            CFMetaData.purge(cfm);
+            if (!clientMode)
             {
-                // if the compaction manager catches IOException, it wraps it 
in an IOError and rethrows, which should
-                // get caught be the executor and rethrown as an 
ExecutionException.
-                if (ex.getCause() instanceof IOException)
-                    throw (IOException)ex.getCause();
-                else
-                    throw new IOException(ex);
+                table.dropCf(cfm.cfId);
             }
         }
                         


Reply via email to