You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/02/07 09:12:41 UTC
[jira] [Commented] (ARTEMIS-931) Improve HTTP upgrade connection
[ https://issues.apache.org/jira/browse/ARTEMIS-931?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15855612#comment-15855612 ]
ASF GitHub Bot commented on ARTEMIS-931:
----------------------------------------
GitHub user jmesnil opened a pull request:
https://github.com/apache/activemq-artemis/pull/991
[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
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/activemq-artemis/pull/991.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 #991
----
commit dd052026e6c5616f1f51795ea21d26f12deaf9e7
Author: Jeff Mesnil <jm...@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)