activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARTEMIS-931) Improve HTTP upgrade connection
Date Tue, 07 Feb 2017 09:15:41 GMT

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

ASF GitHub Bot commented on ARTEMIS-931:
----------------------------------------

GitHub user jmesnil opened a pull request:

    https://github.com/apache/activemq-artemis/pull/992

    (1.x) [ARTEMIS-931] Fix HTTP Upgrade Connection

    * Fix isEquivalent() method to take into account the activemqServerName
      property when httpUpgradeEnabled is true. Two ActiveMQ server hosted on
      the same app server may have the same host and port (corresponding to
      the Web server HTTP port). The activemqServerName property is used to
      distinguish them.
    * Iron out HTTP upgrade handler so that the latch is always count down
      and the channel context is closed unless the handshake was completed
      successfully
    
    JIRA: https://issues.apache.org/jira/browse/ARTEMIS-931

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jmesnil/activemq-artemis ARTEMIS-931_improve_http-upgrade_connection_1.x

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/activemq-artemis/pull/992.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #992
    
----
commit 12c1c7e0717f03d2860178c9ba9853eaedee8991
Author: Jeff Mesnil <jmesnil@gmail.com>
Date:   2017-02-06T15:26:02Z

    [ARTEMIS-931] Fix HTTP Upgrade Connection
    
    * Fix isEquivalent() method to take into account the activemqServerName
      property when httpUpgradeEnabled is true. Two ActiveMQ server hosted on
      the same app server may have the same host and port (corresponding to
      the Web server HTTP port). The activemqServerName property is used to
      distinguish them.
    * Iron out HTTP upgrade handler so that the latch is always count down
      and the channel context is closed unless the handshake was completed
      successfully
    
    JIRA: https://issues.apache.org/jira/browse/ARTEMIS-931

----


> Improve HTTP upgrade connection
> -------------------------------
>
>                 Key: ARTEMIS-931
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-931
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 1.5.2
>            Reporter: Jeff Mesnil
>             Fix For: 2.0.0, 1.5.x
>
>
> When Artemis connector is configured to use http-upgrade, it will send an HTTP request
to the server to perform the upgrade handshake and wait for response for 30 seconds maximum.
> The code in HttpUpgradeHandler#channelRead0 checks if the received object from the server
is a HttpResponse and check its header.
> However if the received object is not an HttpResponse (e.g. a LastHttpContent if the
web server is suspended and returns a 404 with a text content), the code does not close the
context and does not countdown the latch.
> This results in a 30s block for the client when we already know that the connection will
not be possible.
> Improving code in  HttpUpgradeHandler#channelRead0 will remove this 30s wait time and
ensure a fast dectection from the client so that it can try to connect to another server for
example.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message