Uploaded image for project: 'Mahout'
  1. Mahout
  2. MAHOUT-395

Using KMeansDriver leaves open files and can lead to FileNotFoundException - "too many open files" error

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 0.1, 0.2, 0.3, 0.4
    • Fix Version/s: 0.4
    • Component/s: Clustering
    • Labels:
      None

      Description

      KMeansDriver uses isConverged() method to determine if the k-means clustering run is complete. isConverged() has to open each SequenceFIle and read each cluster to see if the containing cluster is converged. During this process the readers are not explicitly closed, so in the case where there are a large number of sequence files opened, the driving system may run out of file handles before they are eventually implicitly reclaimed. I'm attaching a patch that explicitly closes these files as they are no longer needed to remain open.

        Attachments

          Activity

            People

            • Assignee:
              drew.farris Drew Farris
              Reporter:
              scottganyo Scott Ganyo
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: