manifoldcf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karl Wright (JIRA)" <>
Subject [jira] [Commented] (CONNECTORS-1154) Web connector: Better diagnostic output needed in the case of undifferentiated IO exceptions
Date Fri, 30 Jan 2015 02:06:34 GMT


Karl Wright commented on CONNECTORS-1154:

What is happening is this: the ExecuteMethodThread is going ahead and opening the GZIPInputStream
no matter what -- even if no content will be requested.  The GZipInputStream constructor is
reading the header information and is getting interrupted because there is no header information.
 This error does not happen with curl etc because no attempt is made to read the content if
it's a redirection in curl, and therefore the unpacking is not attempted.

There are two possible fixes.

First fix: synchronize the ExecuteMethodThread better with the main thread.  Introduce a wait()
loop at the point where stream creation is about to take place.  If we need the stream, or
when we know we don't need the stream, then we proceed and either skip the stream create entirely
or go ahead and set it up.

Second fix: Move the deflation logic to the foreground thread, and wrap the other side of
the XThreadInputStream.  This should actually work the better of the two, but there will need
to be a way of retrieving the compression type from the ExecuteMethodThread, and some signal
indicating its availability.

> Web connector: Better diagnostic output needed in the case of undifferentiated IO exceptions
> --------------------------------------------------------------------------------------------
>                 Key: CONNECTORS-1154
>                 URL:
>             Project: ManifoldCF
>          Issue Type: Bug
>          Components: Web connector
>    Affects Versions: ManifoldCF 1.8, ManifoldCF 2.0
>            Reporter: Karl Wright
>            Assignee: Karl Wright
>             Fix For: ManifoldCF 1.9, ManifoldCF 2.1
>         Attachments: CONNECTORS-1154.patch
> IOExceptions of known kind are caught and individually dealt with.  But undifferentiated
IO exceptions don't give you much diagnostic information.

This message was sent by Atlassian JIRA

View raw message