Mahout
  1. Mahout
  2. MAHOUT-788

ClusterDumper is never flushing output stream

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Trivial Trivial
    • Resolution: Fixed
    • Affects Version/s: 0.6
    • Fix Version/s: 0.6
    • Component/s: Clustering, Integration
    • Labels:
      None

      Description

      ClusterDumper utility never calls flush on the OutputStreamWriter. As of issue https://issues.apache.org/jira/browse/MAHOUT-679, the output stream is never being closed when it defaults to System.out – while that's a good thing, it would be nice to flush the stream before exiting the program. As is, when I run cluster dumper with the -b (substring) option set to something like 50, the stream never gets big enough to overflow the default buffer on my machine, so I see no output. Even when it does get big enough to overflow the buffer, I still miss the last cluster's summary. When the output is written to a file, the close() method usually flushes the buffer by default, but it shouldn't hurt to call the flush method either way – therefore I'd suggest adding in an unconditional call to writer.flush(); in the finally block just before conditionally closing the writer. (line 199 in the org.apache.mahout.utils.clustering.ClusterDumper.run(String[] args) method)

      } finally {
      writer.flush();
      if (shouldClose)

      { Closeables.closeQuietly(writer); }

      }

        Activity

          People

          • Assignee:
            Sean Owen
            Reporter:
            Jeff Hansen
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - 0.5h
              0.5h
              Remaining:
              Remaining Estimate - 0.5h
              0.5h
              Logged:
              Time Spent - Not Specified
              Not Specified

                Development