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();
}
}
}