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

Justin Bertram updated ARTEMIS-5780:
------------------------------------
    Summary: Ensure full MQTT session clean-up on restart   (was: MQTT session 
queues are not deleted after broker restart when clients connected with 
cleanStart=true and SessionExpiryInterval=0)

> Ensure full MQTT session clean-up on restart 
> ---------------------------------------------
>
>                 Key: ARTEMIS-5780
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-5780
>             Project: Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 2.44.0
>         Environment: * OS: Windows Server 2022
>  * Artemis: Standalone broker (default {{{}broker.xml{}}}), running as 
> Windows Service
>  * Java: JDK 17.0.11_9
>  * MQTT clients: Eclipse Paho MQTT v5
>  ** {{cleanStart = true}}
>  ** {{sessionExpiryInterval = 0}}
>  ** clientID changes on each start
>  ** {{keepAliveInterval = 60}}
>  ** Multiple topic subscriptions
>            Reporter: Hannes Krennmeir
>            Assignee: Justin Bertram
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. *Observed Problem*
> MQTT session queues are correctly deleted when clients disconnect normally or 
> even crash while the broker is running. However, in a specific sequence, the 
> session queues are {*}not removed{*}, and retained session metadata remains 
> present.
> h3. *Steps to Reproduce*
>  # Start the broker (Artemis 2.44.0).
>  # MQTT clients connect with:
>  ** cleanStart=true
>  ** sessionExpiryInterval=0
>  ** unique clientID per connection
>  ** multiple subscriptions
>  # While the clients are still connected, {*}stop the broker{*}.
>  # After the broker has stopped, {*}terminate the clients{*}.
>  # Restart the broker.
> h3. *Expected Behavior*
>  * All MQTT subscription queues should be removed, because:
>  ** {{cleanStart = true}}
>  ** {{sessionExpiryInterval = 0}}
>  ** clientID is not reused
>  * All session-related messages under {{$sys.mqtt.sessions}} should also be 
> removed.
> h3. *Actual Behavior*
>  * After restarting Artemis, the MQTT connections and sessions are no longer 
> present (expected).
>  * But the MQTT subscription queues still exist.
>  * Messages stored under the system address {{$sys.mqtt.sessions}} also 
> remain.
> Enabling
> {code:xml}
> <auto-delete-queues>true</auto-delete-queues>
> <auto-delete-addresses>true</auto-delete-addresses>{code}
> has no effect, because the session queues have the property {*}Auto created = 
> false{*}.



--
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