Author: drew
Date: Sat May 15 02:29:30 2010
New Revision: 944550

URL: http://svn.apache.org/viewvc?rev=944550&view=rev
Log:
Applied patch from MAHOUT-395 courtesy of Scott Ganyo.

Modified:
    
mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansDriver.java

Modified: 
mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansDriver.java
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansDriver.java?rev=944550&r1=944549&r2=944550&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansDriver.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansDriver.java
 Sat May 15 02:29:30 2010
@@ -337,21 +337,22 @@ public final class KMeansDriver {
       String name = part.getPath().getName();
       if (name.startsWith("part") && !name.endsWith(".crc")) {
         SequenceFile.Reader reader = new SequenceFile.Reader(fs, 
part.getPath(), conf);
-        Writable key;
         try {
-          key = (Writable) reader.getKeyClass().newInstance();
+          Writable key = (Writable) reader.getKeyClass().newInstance();
+          Cluster value = new Cluster();
+          while (reader.next(key, value)) {
+            if (value.isConverged() == false) {
+              return false;
+            }
+          }
         } catch (InstantiationException e) { // shouldn't happen
           log.error("Exception", e);
           throw new IllegalStateException(e);
         } catch (IllegalAccessException e) {
           log.error("Exception", e);
           throw new IllegalStateException(e);
-        }
-        Cluster value = new Cluster();
-        while (reader.next(key, value)) {
-          if (value.isConverged() == false) {
-            return false;
-          }
+        } finally {
+          reader.close();
         }
       }
     }


Reply via email to