The com.mongodb.Mongo.close() method can return before the cleanup thread is finished

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Done
    • Priority: Major - P3
    • 2.6
    • Affects Version/s: 2.5.2
    • Component/s: None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      The method com.mongodb.Mongo.close() sets a signal that eventually tells the internal DBCleaner thread to close; which it correctly does. However, since the DBCleaner thread often sleeps, and cleaning up cursors could take a while, the thread will frequently not finish execution until after the close method returns. When this happens in apache tomcat, the following error is seen in tomcat's log files:

      SEVERE: The web application [/someWebApp] appears to have started a thread named [MongoCleaner892931837] but has failed to stop it. This is very likely to create a memory leak.

              Assignee:
              Antoine Girbal (Inactive)
              Reporter:
              Sean Reilly
              None
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: