felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Balazs Zsoldos (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FELIX-4840) Asynchronous IO fails in webconsole plugin
Date Wed, 01 Apr 2015 16:32:53 GMT
Balazs Zsoldos created FELIX-4840:

             Summary: Asynchronous IO fails in webconsole plugin
                 Key: FELIX-4840
                 URL: https://issues.apache.org/jira/browse/FELIX-4840
             Project: Felix
          Issue Type: Bug
          Components: Web Console
    Affects Versions: webconsole-4.2.8
            Reporter: Balazs Zsoldos


The following function call always returns with true:


However, async calls fail even if the webconsole plugin tries to provide some resource (with
some special extension on the end of the URI).


In the end of the _OSGiManager.service(ServletRequest, ServletResponse)_ function, there is
the following:

        // ensure response has been sent back and response is committed
        // (we are authorative for our URL space and no other servlet should interfere)

Due to the reason that _flushBuffer()_ function is called, any asynchronous handling will
fail with an exception.

*Proposed solution*

 - In case the webconsole plugin is rendered (the path ends with / or .html), the _request.isAsyncSupported()_
method call should return false
 - In case a custom resource is provided by the webconsole plugin (any extension but html
on the end of the path) the _flushBuffer()_ method should not be called

At least the second part of the fix should be implemented as if a plugin wants to provide
bigger files (like a dump), async support can be useful. Also, by the time more and more libraries
will support asynchronous IO to provide resources and if a webconsole plugin uses such library,
it will fail.

This message was sent by Atlassian JIRA

View raw message