HAK_IIG created ARTEMIS-5780:
--------------------------------

             Summary: MQTT session queues are not deleted after broker restart 
when clients connected with cleanStart=true and SessionExpiryInterval=0
                 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: HAK_IIG


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 Artemis broker{*}.

 # After the broker has stopped, {*}terminate the clients{*}.

 # Restart Artemis.

h3. *Actual Behavior*
 * After restarting Artemis, the MQTT connections and sessions are no longer 
present (expected).

 * *But the MQTT session queues created for the subscriptions still exist.*

 * Messages stored under the system address *{{$sys.mqtt.sessions}}* also 
remain.

 * Enabling
<auto-delete-queues>true</auto-delete-queues>
<auto-delete-addresses>true</auto-delete-addresses>
has no effect, because the session queues have the property {*}Auto created = 
false{*}.

h3. *Expected Behavior*
 * All MQTT session queues created for the subscription should be removed, 
because:

 ** {{cleanStart = true}}

 ** {{sessionExpiryInterval = 0}}

 ** clientID is not reused

 * All session-related messages under *{{$sys.mqtt.sessions}}* should also be 
removed.



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