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

Piergiorgio Lucidi edited comment on CONNECTORS-713 at 6/12/13 12:41 PM:
-------------------------------------------------------------------------

It could exists another bug in the getContentProperties method, I think that 
there is a problem. 
It could make sense to have a similar stacktrace if something goes wrong there.
                
      was (Author: piergiorgioluc...@gmail.com):
    It could be bug in the getContentProperties method, I think that there is a 
problem. 
It could make sense to have a similar stacktrace if something goes wrong there.
                  
> Alfresco connector needs to deal with IOExceptions better
> ---------------------------------------------------------
>
>                 Key: CONNECTORS-713
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-713
>             Project: ManifoldCF
>          Issue Type: Bug
>          Components: Alfresco connector
>    Affects Versions: ManifoldCF 1.2
>            Reporter: Karl Wright
>            Assignee: Piergiorgio Lucidi
>             Fix For: ManifoldCF 1.3
>
>
> The Alfresco Connector deals with IOExceptions by just tossing a wrapping 
> ManifoldCFException.  This is a problem for several reasons.  First, 
> IOExceptions are usually transient, and should mostly be converted into 
> ServiceInterruptions instead.  Second, IOExceptions *may* represent thread 
> interrupts, in which case the software should instead throw new 
> ManifoldCFException(<msg>, ManifoldCFException.INTERRUPTED).
> A good model is to have a method called "void handleIOException(IOException) 
> throws ServiceInterruption, ManifoldCFException" called from everywhere that 
> IOExceptions are caught.  Usually they get implemented something like this, 
> although you can also throw ServiceInterruptions with different 
> characteristics dependent on the kind of IOException being caught:
> {code}
>   private static void handleIOException(IOException e)
>     throws ManifoldCFException, ServiceInterruption {
>     if (!(e instanceof java.net.SocketTimeoutException) && (e instanceof 
> InterruptedIOException)) {
>       throw new ManifoldCFException("Interrupted: " + e.getMessage(), e,
>         ManifoldCFException.INTERRUPTED);
>     }
>     long currentTime = System.currentTimeMillis();
>     throw new ServiceInterruption("IO exception: "+e.getMessage(), e, 
> currentTime + 300000L,
>       currentTime + 3 * 60 * 60000L,-1,false);
>   }
> {code}
> The exception returned is the following:
> {code}
> FATAL 2013-06-11 16:40:03,441 (Worker thread '12') - Error tossed: Unable to 
> get content as inputStream.
> org.alfresco.webservice.util.WebServiceException: Unable to get content as 
> inputStream.
>     at 
> org.alfresco.webservice.util.ContentUtils.getContentAsInputStream(ContentUtils.java:139)
>     at 
> org.apache.manifoldcf.crawler.connectors.alfresco.ContentReader.getBinary(ContentReader.java:73)
>     at 
> org.apache.manifoldcf.crawler.connectors.alfresco.AlfrescoRepositoryConnector.processDocuments(AlfrescoRepositoryConnector.java:824)
>     at 
> org.apache.manifoldcf.crawler.connectors.BaseRepositoryConnector.processDocuments(BaseRepositoryConnector.java:423)
>     at 
> org.apache.manifoldcf.crawler.system.WorkerThread.run(WorkerThread.java:559)
> Caused by: java.io.IOException: Server returned HTTP response code: 500 for 
> URL: 
> http://localhost:9090/alfresco/download/direct/workspace/SpacesStore/1e4f7fe4-d58a-4d69-b26f-3349546af7ca/testdata2.txt?ticket=TICKET_33ac1ec81c5b0ca9d024f0489df115286d0ac030
>     at 
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1625)
>     at 
> org.alfresco.webservice.util.ContentUtils.getContentAsInputStream(ContentUtils.java:135)
>     ... 4 more
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to