You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@artemis.apache.org by "Justin Bertram (Jira)" <ji...@apache.org> on 2025/12/17 03:00:01 UTC

[jira] [Updated] (ARTEMIS-5819) HttpIdleTimer sending GET rather than POST

     [ https://issues.apache.org/jira/browse/ARTEMIS-5819?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Justin Bertram updated ARTEMIS-5819:
------------------------------------
    Description: 
The {{HttpIdleTimer}} is used on a Core client when the connection url contains {{httpEnabled=true}}. It sends HTTP requests intermittently in order to keep the connection alive. However, it sends {{GET}} requests rather than {{POST}} requests which results in a {{WARN}} message like this on the broker:
{noformat}
WARN  [org.apache.activemq.artemis.core.client] AMQ212037: CORE connection failure to 123.456.789.012:12345 has been detected: class io.netty.handler.codec.http.HttpObjectAggregator$AggregatedFullHttpRequest cannot be cast to class io.netty.buffer.ByteBuf (io.netty.handler.codec.http.HttpObjectAggregator$AggregatedFullHttpRequest and io.netty.buffer.ByteBuf are in unnamed module of loader 'app') [code=GENERIC_EXCEPTION]
[Thread-1] 16:15:18,058 {noformat}
Instead of keeping the connection alive it causes the connection to be closed.

This can be worked around by setting {{httpClientIdleScanPeriod=-1}} in the client's connection URL. This stops the {{HttpIdleTimer}} from being executed which is not a problem because the the Core client itself will still send pings according to the [{{clientFailureCheckPeriod}}|https://github.com/apache/artemis/blob/main/docs/user-manual/connection-ttl.adoc#detecting-failure-from-the-client] value.

  was:
The {{HttpIdleTimer}} is used on a Core client when the connection url contains {{httpEnabled=true}}. It sends HTTP requests intermittently in order to keep the connection alive. However, it sends {{GET}} requests rather than {{POST}} requests which results in a {{WARN}} message like this on the broker:
{noformat}
WARN  [org.apache.activemq.artemis.core.client] AMQ212037: CORE connection failure to 123.456.789.012:12345 has been detected: class io.netty.handler.codec.http.HttpObjectAggregator$AggregatedFullHttpRequest cannot be cast to class io.netty.buffer.ByteBuf (io.netty.handler.codec.http.HttpObjectAggregator$AggregatedFullHttpRequest and io.netty.buffer.ByteBuf are in unnamed module of loader 'app') [code=GENERIC_EXCEPTION]
[Thread-1] 16:15:18,058 {noformat}
Instead of keeping the connection alive it causes the connection to be closed.


> HttpIdleTimer sending GET rather than POST
> ------------------------------------------
>
>                 Key: ARTEMIS-5819
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-5819
>             Project: Artemis
>          Issue Type: Bug
>            Reporter: Justin Bertram
>            Assignee: Justin Bertram
>            Priority: Major
>
> The {{HttpIdleTimer}} is used on a Core client when the connection url contains {{httpEnabled=true}}. It sends HTTP requests intermittently in order to keep the connection alive. However, it sends {{GET}} requests rather than {{POST}} requests which results in a {{WARN}} message like this on the broker:
> {noformat}
> WARN  [org.apache.activemq.artemis.core.client] AMQ212037: CORE connection failure to 123.456.789.012:12345 has been detected: class io.netty.handler.codec.http.HttpObjectAggregator$AggregatedFullHttpRequest cannot be cast to class io.netty.buffer.ByteBuf (io.netty.handler.codec.http.HttpObjectAggregator$AggregatedFullHttpRequest and io.netty.buffer.ByteBuf are in unnamed module of loader 'app') [code=GENERIC_EXCEPTION]
> [Thread-1] 16:15:18,058 {noformat}
> Instead of keeping the connection alive it causes the connection to be closed.
> This can be worked around by setting {{httpClientIdleScanPeriod=-1}} in the client's connection URL. This stops the {{HttpIdleTimer}} from being executed which is not a problem because the the Core client itself will still send pings according to the [{{clientFailureCheckPeriod}}|https://github.com/apache/artemis/blob/main/docs/user-manual/connection-ttl.adoc#detecting-failure-from-the-client] value.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@artemis.apache.org
For additional commands, e-mail: issues-help@artemis.apache.org