#58 Incorrect behaviour when exception thrown during download

Fedora 2.2
closed-accepted
5
2008-07-17
2008-02-19
No

I ingested a 3Gb file into Fedora via Fez. The file ingested into Fedora successfully, however Fedora throws an exception when attempting to fetch the file via HTTP (I believed it's an OutOfMemoryException, but I could be mistaken).

What I would have expected to happen in an exception situation would be an HTTP 500 status returned, however instead of this Fedora returns a 0 byte file with the same name of the requested file.

This then has a flow-on effect for front-end tools such as Fez which proceed to run other software over the file (such as JHOVE) and therefore reports the file size as 0 bytes.

Discussion

  • Bill Branan

    Bill Branan - 2008-07-11

    Logged In: YES
    user_id=1987639
    Originator: NO

    Investigated in task 149640, found that when attempting to retrieve a large datastream (tested using a 5GB file) through API-A using getDatastreamDissemination an OutOfMemory error is indeed produced. This is due to the current implementation attempting to include the entire datastream file in the SOAP response. Other tasks are already open to investigate SOAP with attachments and other transport mechanisms. Work around for now is to use API-A-Lite. The code was updated to provide a more helpful error in this case, including a pointer to the API-A-Lite endpoint for exporting the datastream. A test was also added to allow testing this further in the future. Changes were made only on trunk and need to be migrated to maintenance.

     
  • Bill Branan

    Bill Branan - 2008-07-17

    Logged In: YES
    user_id=1987639
    Originator: NO

    Changes migrated to maintenance branch in task 149933. Closing bug as this issue will be taken up again as part of other tasks and can be tested using test created for large datastreams.

     
  • Bill Branan

    Bill Branan - 2008-07-17
    • assigned_to: nobody --> bbranan
    • status: open --> closed-accepted
     

Log in to post a comment.