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

ASF subversion and git services commented on ARTEMIS-5499:
----------------------------------------------------------

Commit 5784bdee032f33bfef10909b376bdb53e1b74c90 in activemq-artemis's branch 
refs/heads/main from Justin Bertram
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=5784bdee03 ]

ARTEMIS-5499 refactor MQTT subscription persistence

This commit refactors how the broker persists MQTT subscription data
since the current implementation was resulting in timeout issues and
might eventually lead to thread starvation due to a blocking call.

Since the code that might lead to timeouts was removed the associated
configuration property was deprecated.

Previously, disabling subscription persistence involved disabling the
underlying queue. This commit also adds a new configuration parameter
to disable subscription persistence is a more elegant way and updates
the documentation accordingly.

There are also a couple of optimizations to avoid unnecessary IO.


> Refactor MQTT subscription persistence
> --------------------------------------
>
>                 Key: ARTEMIS-5499
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-5499
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Justin Bertram
>            Assignee: Justin Bertram
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 4h 40m
>  Remaining Estimate: 0h
>
> The current way the broker persists MQTT subscription data has the potential 
> to starve the broker of threads. It also leads to timeouts like this under 
> load:
> {noformat}
>   java.lang.IllegalStateException: AMQ850000: Unable to store MQTT state 
> within given timeout: 5000ms
>       at 
> org.apache.activemq.artemis.core.protocol.mqtt.MQTTStateManager.storeSessionState(MQTTStateManager.java:192)
>       at 
> org.apache.activemq.artemis.core.protocol.mqtt.MQTTSubscriptionManager.addSubscriptions(MQTTSubscriptionManager.java:334){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


Reply via email to