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

Justin Bertram updated ARTEMIS-5780:
------------------------------------
    Description: 
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{*}.

  was:
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.


> 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: Hannes Krennmeir
>            Assignee: Justin Bertram
>            Priority: Major
>
> 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