You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2009/05/27 23:41:04 UTC

svn commit: r779322 - /incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java

Author: jbellis
Date: Wed May 27 21:41:04 2009
New Revision: 779322

URL: http://svn.apache.org/viewvc?rev=779322&view=rev
Log:
remove unnecessary List creation in getSliceFrom and move close() cleanup for to the finally block.  patch by Jun Rao; reviewed by jbellis for CASSANDRA-201

Modified:
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=779322&r1=779321&r2=779322&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java Wed May 27 21:41:04 2009
@@ -1580,11 +1580,11 @@
     throws IOException, ExecutionException, InterruptedException
     {
         lock_.readLock().lock();
+        List<ColumnIterator> iterators = new ArrayList<ColumnIterator>();
         try
         {
             final ColumnFamily returnCF;
             ColumnIterator iter;
-            List<ColumnIterator> iterators = new ArrayList<ColumnIterator>();
         
             /* add the current memtable */
             memtableLock_.readLock().lock();
@@ -1637,9 +1637,7 @@
             Iterator collated = IteratorUtils.collatedIterator(comparator, iterators);
             if (!collated.hasNext())
                 return new ColumnFamily(cfName, DatabaseDescriptor.getColumnFamilyType(cfName));
-            List<IColumn> L = new ArrayList();
-            CollectionUtils.addAll(L, collated);
-            ReducingIterator<IColumn> reduced = new ReducingIterator<IColumn>(L.iterator())
+            ReducingIterator<IColumn> reduced = new ReducingIterator<IColumn>(collated)
             {
                 ColumnFamily curCF = returnCF.cloneMeShallow();
 
@@ -1675,14 +1673,23 @@
                 returnCF.addColumn(column);
             }
 
-            /* close remaining cursors */
-            for (ColumnIterator ci : iterators)
-                ci.close();
-
             return removeDeleted(returnCF);
         }
         finally
         {
+            /* close all cursors */
+            for (ColumnIterator ci : iterators)
+            {
+                try
+                {
+                    ci.close();
+                }
+                catch (Throwable th)
+                {
+                    logger_.error(th);
+                }
+            }
+
             lock_.readLock().unlock();
         }
     }