Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-2996

timeoutMS should be refreshed for GridFS upload streams abort

    • Type: Icon: Spec Change Spec Change
    • Resolution: Unresolved
    • Priority: Icon: Unknown Unknown
    • None
    • Component/s: CSOT, GridFS
    • None
    • Needed

      Summary

      GridFS upload streams should refresh their timeouts when aborted.

      Motivation

      Who is the affected end user?

      GridFS users.

      How does this affect the end user?

      If the user aborts a gridfs upload stream but timeoutMS is nearly exhausted, it is possible that the stream may not get a chance to clean up any chunks already successfully uploaded (this is done with a deleteMany()).

      Cursors and sessions refresh their timeoutMS when cleaning up resources.  GridFS upload streams should too.  This behavior is also likely more important for GridFS streams are also likely more important because unlike cursors and transactions, there is no automatic server or driver process that will delete any orphaned chunks if the driver fails to delete them.

      How likely is it that this problem or use case will occur?

      unsure.

      If the problem does occur, what are the consequences and how severe are they?

      The user's database is left in an incorrect state - the driver may have uploaded some chunks of the uploaded file, but never deleted them.

      Is this issue urgent?

      No.

      Is this ticket required by a downstream team?

      No.

      Is this ticket only for tests?

      No.

      Acceptance Criteria

      Specify that drivers should refresh timeoutMS for the deleteMany() when a gridfs upload stream is aborted.

            Assignee:
            Unassigned Unassigned
            Reporter:
            bailey.pearson@mongodb.com Bailey Pearson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: