hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tsz Wo (Nicholas), SZE (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-3388) GetJournalEditServlet should catch more exceptions, not just IOException
Date Wed, 09 May 2012 00:09:55 GMT

    [ https://issues.apache.org/jira/browse/HDFS-3388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13270955#comment-13270955
] 

Tsz Wo (Nicholas), SZE commented on HDFS-3388:
----------------------------------------------

The correct way to fix the bug is not to close output stream when an error is sent.  Below
is a suggestion.
{code}
@@ -140,8 +141,12 @@
                 DataTransferThrottler throttler = GetImageServlet.getThrottler(conf);
 
                 // send edits
-                TransferFsImage.getFileServer(response.getOutputStream(),
-                    editFile, throttler);
+                OutputStream out = response.getOutputStream();
+                try {
+                  TransferFsImage.getFileServer(out, editFile, throttler);
+                } finally {
+                  out.close();
+                }
               } else {
                 response
                     .sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED,
@@ -155,8 +160,6 @@
       String errMsg = "getedit failed. " + StringUtils.stringifyException(ie);
       response.sendError(HttpServletResponse.SC_GONE, errMsg);
       throw new IOException(errMsg);
-    } finally {
-      response.getOutputStream().close();
     }
   }
{code}

                
> GetJournalEditServlet should catch more exceptions, not just IOException
> ------------------------------------------------------------------------
>
>                 Key: HDFS-3388
>                 URL: https://issues.apache.org/jira/browse/HDFS-3388
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: ha, name-node
>            Reporter: Brandon Li
>            Assignee: Brandon Li
>         Attachments: HDFS-3388.HDFS-3092.patch
>
>
> GetJournalEditServlet has the same problem as that of GetImageServlet (HDFS-3330). It
should be fixed in the same way. Also need to make CheckpointFaultInjector visible for journal
service tests.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message