activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <>
Subject [jira] [Commented] (ARTEMIS-931) Improve HTTP upgrade connection
Date Tue, 07 Feb 2017 11:06:41 GMT


ASF subversion and git services commented on ARTEMIS-931:

Commit dd052026e6c5616f1f51795ea21d26f12deaf9e7 in activemq-artemis's branch refs/heads/master
from [~jmesnil]
[;h=dd05202 ]

[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


> Improve HTTP upgrade connection
> -------------------------------
>                 Key: ARTEMIS-931
>                 URL:
>             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

This message was sent by Atlassian JIRA

View raw message