[
https://issues.apache.org/jira/browse/ARTEMIS-3097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Justin Bertram updated ARTEMIS-3097:
------------------------------------
Description:
We faced the issue with the timeout during sending files from our back-end
(Java web application on Tomcat 9.0.16) to Artemis. We are using Artemis 2.16
on JDK11. Tomcat is deployed to the host machine natively and Artemis is
deployed as the docker container with exposed 61616 and 8161 ports.
So Tomcat works with the Artemis via tcp://localhost:61616
The error occurs with following conditions:
* Files larger than ~ 120 MB are sent
* Client and server are on the same host (Artemis in docker, application
inside native Tomcat, linux)
* The stacktrace is below:
{noformat}
Caused by: javax.jms.JMSException: AMQ219014: Timed out after waiting 30,000 ms
for response when sending packet 73
at
org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.sendSessionSendContinuationMessage(ActiveMQSessionContext.java:1064)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.sendLargeMessageChunk(ActiveMQSessionContext.java:575)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSendStreamed(ClientProducerImpl.java:497)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSend(ClientProducerImpl.java:334)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:266)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:143)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:125)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.doSendx(ActiveMQMessageProducer.java:483)
~[artemis-jms-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:193)
~[artemis-jms-client-2.16.0.jar:2.16.0]
at
com.smartdec.incode.gui.backend.jms.QueueApi.sendSourceIfExists(QueueApi.java:150)
~[classes/:?]
at
com.smartdec.incode.gui.backend.jms.QueueApi.sendSources(QueueApi.java:118)
~[classes/:?]
at com.smartdec.incode.gui.backend.TaskUtils.sendToQueue(TaskUtils.java:87)
~[classes/:?]
... 13 more
Caused by: org.apache.activemq.artemis.api.core.ActiveMQException: AMQ219014:
Timed out after waiting 30,000 ms for response when sending packet 73
at
org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.sendSessionSendContinuationMessage(ActiveMQSessionContext.java:1064)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.sendLargeMessageChunk(ActiveMQSessionContext.java:575)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSendStreamed(ClientProducerImpl.java:497)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSend(ClientProducerImpl.java:334)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:266)
~[artemis-core-client-2.16.0.jar:2.16.0]{noformat}
# And interesting notes, error does not occur when:
broker and consumer are on the different hosts even server threw the exception
with local client
# You set breakpoint at the supposed timeout line:
[https://github.com/apache/activemq-artemis/blob/master/artemis-server/src/main/java/org/apache/activemq/artemis/core/protocol/core/ServerSessionPacketHandler.java#L317]
If you remove breakpoint - it will fail again.
Would you please assist to avoid it?
Here is our dockerfile:
{noformat}
FROM openjdk:11.0.9
ENV ARTEMIS_VERSION 2.16.0
ENV ARTEMIS apache-artemis-$ARTEMIS_VERSION
ENV
SHA512_VAL=4990a6b742b08bff6a4c7b310d2610565b08a2a02e1a7aec065460d16f8a6fe3d4fe91a8040839f93d7c2eab09fd6a79848fb130f9820559ee3e81dcf8d51eadENV
ARTEMIS_HOME /opt/apache-artemis
ARG ARTEMIS_USER
ARG ARTEMIS_PASSWORD
ARG DAEMON_USER
ARG DAEMON_PASSWORD
ARG BACKEND_USER
ARG BACKEND_PASSWORD
RUN curl
https://archive.apache.org/dist/activemq/activemq-artemis/$ARTEMIS_VERSION/$ARTEMIS-bin.tar.gz
-o $ARTEMIS-bin.tar.gz && \
if [ "$SHA512_VAL" != "$(sha512sum $ARTEMIS-bin.tar.gz | awk
'{print($1)}')" ];\
then \
echo "sha512 values doesn't match! exiting." && \
exit 1; \
fi; \
tar -xzf $ARTEMIS-bin.tar.gz -C /opt && \
ln -s /opt/$ARTEMIS $ARTEMIS_HOME && \
rm -f $ARTEMIS-bin.tar.gzRUN cd /var/lib && \
${ARTEMIS_HOME}/bin/artemis create artemis \
--home ${ARTEMIS_HOME} \
--user ${ARTEMIS_USER:-admin} \
--password ${ARTEMIS_PASSWORD:-admin} \
--require-login && \
sed -i "s/localhost/0.0.0.0/g" /var/lib/artemis/etc/bootstrap.xml && \
sed -i "s/localhost//g" /var/lib/artemis/etc/jolokia-access.xml
WORKDIR /var/lib/artemisCOPY configs/broker.xml /var/lib/artemis/etc/
RUN /var/lib/artemis/bin/artemis-service start && \
/var/lib/artemis/bin/artemis user add \
--user ${ARTEMIS_USER:-admin} \
--password ${ARTEMIS_PASSWORD:-admin} \
--user-command-user some_value \
--user-command-password some_value \
--role daemon && \
/var/lib/artemis/bin/artemis user add \
--user ${ARTEMIS_USER:-admin} \
--password ${ARTEMIS_PASSWORD:-admin} \
--user-command-user some_value \
--user-command-password some_value \
--role backend && \
/var/lib/artemis/bin/artemis-service stop
EXPOSE 8161
# Port for CORE,MQTT,AMQP,HORNETQ,STOMP,OPENWIRE
EXPOSE 61616
# Port for HORNETQ,STOMP
EXPOSE 5445
# Port for AMQP
EXPOSE 5672
# Port for MQTT
EXPOSE 1883
#Port for STOMP
EXPOSE 61613
ENTRYPOINT [ "/var/lib/artemis/bin/artemis", "run" ]{noformat}
was:
Hi!
We faced the issue with the timeout during sending files from our backend (java
webapp on Tomcat 9.0.16) to the Artemis.
We are using Artemis 2.16 on JDK11.
Tomcat deployed to the host machine natively and Artemis deployed as the
docker container with exposed 61616 and 8161 ports.
So Tomcat works with the Artemis via tcp://localhost:61616
The error occurs with following conditions:
* Files larger than ~ 120 MB are sent
* Client and server are on the same host (Artemis in docker, application
inside native Tomcat, linux)
* The stacktrace is below:
{noformat}
Caused by: javax.jms.JMSException: AMQ219014: Timed out after waiting 30,000 ms
for response when sending packet 73
at
org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.sendSessionSendContinuationMessage(ActiveMQSessionContext.java:1064)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.sendLargeMessageChunk(ActiveMQSessionContext.java:575)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSendStreamed(ClientProducerImpl.java:497)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSend(ClientProducerImpl.java:334)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:266)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:143)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:125)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.doSendx(ActiveMQMessageProducer.java:483)
~[artemis-jms-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:193)
~[artemis-jms-client-2.16.0.jar:2.16.0]
at
com.smartdec.incode.gui.backend.jms.QueueApi.sendSourceIfExists(QueueApi.java:150)
~[classes/:?]
at
com.smartdec.incode.gui.backend.jms.QueueApi.sendSources(QueueApi.java:118)
~[classes/:?]
at com.smartdec.incode.gui.backend.TaskUtils.sendToQueue(TaskUtils.java:87)
~[classes/:?]
... 13 more
Caused by: org.apache.activemq.artemis.api.core.ActiveMQException: AMQ219014:
Timed out after waiting 30,000 ms for response when sending packet 73
at
org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.sendSessionSendContinuationMessage(ActiveMQSessionContext.java:1064)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.sendLargeMessageChunk(ActiveMQSessionContext.java:575)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSendStreamed(ClientProducerImpl.java:497)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSend(ClientProducerImpl.java:334)
~[artemis-core-client-2.16.0.jar:2.16.0]
at
org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:266)
~[artemis-core-client-2.16.0.jar:2.16.0]{noformat}
# And interesting notes, error does not occur when:
broker and consumer are on the different hosts even server threw the exception
with local client
# You set breakpoint at the supposed timeout line:
[https://github.com/apache/activemq-artemis/blob/master/artemis-server/src/main/java/org/apache/activemq/artemis/core/protocol/core/ServerSessionPacketHandler.java#L317]
If you remove breakpoint - it will fail again.
Would you please assist to avoid it?
Here is our dockerfile:
{noformat}
FROM openjdk:11.0.9
ENV ARTEMIS_VERSION 2.16.0
ENV ARTEMIS apache-artemis-$ARTEMIS_VERSION
ENV
SHA512_VAL=4990a6b742b08bff6a4c7b310d2610565b08a2a02e1a7aec065460d16f8a6fe3d4fe91a8040839f93d7c2eab09fd6a79848fb130f9820559ee3e81dcf8d51eadENV
ARTEMIS_HOME /opt/apache-artemis
ARG ARTEMIS_USER
ARG ARTEMIS_PASSWORD
ARG DAEMON_USER
ARG DAEMON_PASSWORD
ARG BACKEND_USER
ARG BACKEND_PASSWORD
RUN curl
https://archive.apache.org/dist/activemq/activemq-artemis/$ARTEMIS_VERSION/$ARTEMIS-bin.tar.gz
-o $ARTEMIS-bin.tar.gz && \
if [ "$SHA512_VAL" != "$(sha512sum $ARTEMIS-bin.tar.gz | awk
'{print($1)}')" ];\
then \
echo "sha512 values doesn't match! exiting." && \
exit 1; \
fi; \
tar -xzf $ARTEMIS-bin.tar.gz -C /opt && \
ln -s /opt/$ARTEMIS $ARTEMIS_HOME && \
rm -f $ARTEMIS-bin.tar.gzRUN cd /var/lib && \
${ARTEMIS_HOME}/bin/artemis create artemis \
--home ${ARTEMIS_HOME} \
--user ${ARTEMIS_USER:-admin} \
--password ${ARTEMIS_PASSWORD:-admin} \
--require-login && \
sed -i "s/localhost/0.0.0.0/g" /var/lib/artemis/etc/bootstrap.xml && \
sed -i "s/localhost//g" /var/lib/artemis/etc/jolokia-access.xml
WORKDIR /var/lib/artemisCOPY configs/broker.xml /var/lib/artemis/etc/
RUN /var/lib/artemis/bin/artemis-service start && \
/var/lib/artemis/bin/artemis user add \
--user ${ARTEMIS_USER:-admin} \
--password ${ARTEMIS_PASSWORD:-admin} \
--user-command-user some_value \
--user-command-password some_value \
--role daemon && \
/var/lib/artemis/bin/artemis user add \
--user ${ARTEMIS_USER:-admin} \
--password ${ARTEMIS_PASSWORD:-admin} \
--user-command-user some_value \
--user-command-password some_value \
--role backend && \
/var/lib/artemis/bin/artemis-service stop
EXPOSE 8161
# Port for CORE,MQTT,AMQP,HORNETQ,STOMP,OPENWIRE
EXPOSE 61616
# Port for HORNETQ,STOMP
EXPOSE 5445
# Port for AMQP
EXPOSE 5672
# Port for MQTT
EXPOSE 1883
#Port for STOMP
EXPOSE 61613
ENTRYPOINT [ "/var/lib/artemis/bin/artemis", "run" ]{noformat}
> AMQ219014 Timed out after waiting 30,000 ms for response when sending packet
> on large file exchange
> ---------------------------------------------------------------------------------------------------
>
> Key: ARTEMIS-3097
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3097
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Affects Versions: 2.16.0
> Environment: OS
> NAME="Ubuntu"
> VERSION="16.04.6 LTS (Xenial Xerus)"
>
> Docker version 18.09.7, build 2d0083d
>
> Backend Tomcat
> Server version name: Apache Tomcat/9.0.16
> JVM Version: 11.0.5+10-post-Ubuntu-2ubuntu116.04'CATALINA_OPTS=-Xms512M
> -Xmx512M'
> Reporter: Ivan
> Assignee: Justin Bertram
> Priority: Major
> Attachments: configs_broker.xml
>
>
> We faced the issue with the timeout during sending files from our back-end
> (Java web application on Tomcat 9.0.16) to Artemis. We are using Artemis 2.16
> on JDK11. Tomcat is deployed to the host machine natively and Artemis is
> deployed as the docker container with exposed 61616 and 8161 ports.
> So Tomcat works with the Artemis via tcp://localhost:61616
> The error occurs with following conditions:
> * Files larger than ~ 120 MB are sent
> * Client and server are on the same host (Artemis in docker, application
> inside native Tomcat, linux)
> * The stacktrace is below:
> {noformat}
> Caused by: javax.jms.JMSException: AMQ219014: Timed out after waiting 30,000
> ms for response when sending packet 73
> at
> org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.sendSessionSendContinuationMessage(ActiveMQSessionContext.java:1064)
> ~[artemis-core-client-2.16.0.jar:2.16.0]
> at
> org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.sendLargeMessageChunk(ActiveMQSessionContext.java:575)
> ~[artemis-core-client-2.16.0.jar:2.16.0]
> at
> org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSendStreamed(ClientProducerImpl.java:497)
> ~[artemis-core-client-2.16.0.jar:2.16.0]
> at
> org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSend(ClientProducerImpl.java:334)
> ~[artemis-core-client-2.16.0.jar:2.16.0]
> at
> org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:266)
> ~[artemis-core-client-2.16.0.jar:2.16.0]
> at
> org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:143)
> ~[artemis-core-client-2.16.0.jar:2.16.0]
> at
> org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:125)
> ~[artemis-core-client-2.16.0.jar:2.16.0]
> at
> org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.doSendx(ActiveMQMessageProducer.java:483)
> ~[artemis-jms-client-2.16.0.jar:2.16.0]
> at
> org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:193)
> ~[artemis-jms-client-2.16.0.jar:2.16.0]
> at
> com.smartdec.incode.gui.backend.jms.QueueApi.sendSourceIfExists(QueueApi.java:150)
> ~[classes/:?]
> at
> com.smartdec.incode.gui.backend.jms.QueueApi.sendSources(QueueApi.java:118)
> ~[classes/:?]
> at
> com.smartdec.incode.gui.backend.TaskUtils.sendToQueue(TaskUtils.java:87)
> ~[classes/:?]
> ... 13 more
> Caused by: org.apache.activemq.artemis.api.core.ActiveMQException: AMQ219014:
> Timed out after waiting 30,000 ms for response when sending packet 73
> at
> org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.sendSessionSendContinuationMessage(ActiveMQSessionContext.java:1064)
> ~[artemis-core-client-2.16.0.jar:2.16.0]
> at
> org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.sendLargeMessageChunk(ActiveMQSessionContext.java:575)
> ~[artemis-core-client-2.16.0.jar:2.16.0]
> at
> org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSendStreamed(ClientProducerImpl.java:497)
> ~[artemis-core-client-2.16.0.jar:2.16.0]
> at
> org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSend(ClientProducerImpl.java:334)
> ~[artemis-core-client-2.16.0.jar:2.16.0]
> at
> org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:266)
> ~[artemis-core-client-2.16.0.jar:2.16.0]{noformat}
>
> # And interesting notes, error does not occur when:
> broker and consumer are on the different hosts even server threw the
> exception with local client
> # You set breakpoint at the supposed timeout line:
>
> [https://github.com/apache/activemq-artemis/blob/master/artemis-server/src/main/java/org/apache/activemq/artemis/core/protocol/core/ServerSessionPacketHandler.java#L317]
> If you remove breakpoint - it will fail again.
> Would you please assist to avoid it?
> Here is our dockerfile:
> {noformat}
> FROM openjdk:11.0.9
> ENV ARTEMIS_VERSION 2.16.0
> ENV ARTEMIS apache-artemis-$ARTEMIS_VERSION
> ENV
> SHA512_VAL=4990a6b742b08bff6a4c7b310d2610565b08a2a02e1a7aec065460d16f8a6fe3d4fe91a8040839f93d7c2eab09fd6a79848fb130f9820559ee3e81dcf8d51eadENV
> ARTEMIS_HOME /opt/apache-artemis
> ARG ARTEMIS_USER
> ARG ARTEMIS_PASSWORD
> ARG DAEMON_USER
> ARG DAEMON_PASSWORD
> ARG BACKEND_USER
> ARG BACKEND_PASSWORD
> RUN curl
> https://archive.apache.org/dist/activemq/activemq-artemis/$ARTEMIS_VERSION/$ARTEMIS-bin.tar.gz
> -o $ARTEMIS-bin.tar.gz && \
> if [ "$SHA512_VAL" != "$(sha512sum $ARTEMIS-bin.tar.gz | awk
> '{print($1)}')" ];\
> then \
> echo "sha512 values doesn't match! exiting." && \
> exit 1; \
> fi; \
> tar -xzf $ARTEMIS-bin.tar.gz -C /opt && \
> ln -s /opt/$ARTEMIS $ARTEMIS_HOME && \
> rm -f $ARTEMIS-bin.tar.gzRUN cd /var/lib && \
> ${ARTEMIS_HOME}/bin/artemis create artemis \
> --home ${ARTEMIS_HOME} \
> --user ${ARTEMIS_USER:-admin} \
> --password ${ARTEMIS_PASSWORD:-admin} \
> --require-login && \
> sed -i "s/localhost/0.0.0.0/g" /var/lib/artemis/etc/bootstrap.xml && \
> sed -i "s/localhost//g" /var/lib/artemis/etc/jolokia-access.xml
> WORKDIR /var/lib/artemisCOPY configs/broker.xml /var/lib/artemis/etc/
> RUN /var/lib/artemis/bin/artemis-service start && \
> /var/lib/artemis/bin/artemis user add \
> --user ${ARTEMIS_USER:-admin} \
> --password ${ARTEMIS_PASSWORD:-admin} \
> --user-command-user some_value \
> --user-command-password some_value \
> --role daemon && \
> /var/lib/artemis/bin/artemis user add \
> --user ${ARTEMIS_USER:-admin} \
> --password ${ARTEMIS_PASSWORD:-admin} \
> --user-command-user some_value \
> --user-command-password some_value \
> --role backend && \
> /var/lib/artemis/bin/artemis-service stop
> EXPOSE 8161
> # Port for CORE,MQTT,AMQP,HORNETQ,STOMP,OPENWIRE
> EXPOSE 61616
> # Port for HORNETQ,STOMP
> EXPOSE 5445
> # Port for AMQP
> EXPOSE 5672
> # Port for MQTT
> EXPOSE 1883
> #Port for STOMP
> EXPOSE 61613
> ENTRYPOINT [ "/var/lib/artemis/bin/artemis", "run" ]{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact