gemmellr commented on a change in pull request #3833:
URL: https://github.com/apache/activemq-artemis/pull/3833#discussion_r741347945



##########
File path: 
artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueManagerImpl.java
##########
@@ -72,7 +72,7 @@ public static void performAutoDeleteQueue(ActiveMQServer 
server, Queue queue) {
       ActiveMQServerLogger.LOGGER.autoRemoveQueue("" + queue.getName(), 
queue.getID(), "" + queue.getAddress());
 
       try {
-         server.destroyQueue(queueName, null, true, false, 
settings.isAutoDeleteAddresses(), true);
+         server.destroyQueue(queueName, null, true, false, false, true);

Review comment:
       This almost certainly rendered the settings unused, so they should have 
been removed as well.

##########
File path: 
artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQServer.java
##########
@@ -672,13 +672,13 @@ void destroyQueue(SimpleString queueName,
                      SecurityAuth session,
                      boolean checkConsumerCount,
                      boolean removeConsumers,
-                     boolean autoDeleteAddress) throws Exception;
+                     boolean forceAutoDeleteAddress) throws Exception;
 
    void destroyQueue(SimpleString queueName,
                      SecurityAuth session,
                      boolean checkConsumerCount,
                      boolean removeConsumers,
-                     boolean autoDeleteAddress,
+                     boolean forceAutoDeleteAddress,

Review comment:
       Could use some doc here too to explain what it does.

##########
File path: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java
##########
@@ -1090,7 +1090,7 @@ void destroyQueue(@Parameter(name = "name", desc = "Name 
of the queue to destroy
    @Operation(desc = "Destroy a queue", impact = MBeanOperationInfo.ACTION)
    void destroyQueue(@Parameter(name = "name", desc = "Name of the queue to 
destroy") String name,
                      @Parameter(name = "removeConsumers", desc = "Remove 
consumers of this queue") boolean removeConsumers,
-                     @Parameter(name = "autoDeleteAddress", desc = 
"Automatically delete the address if this was the last queue") boolean 
autoDeleteAddress) throws Exception;
+                     @Parameter(name = "forceAutoDeleteAddress", desc = 
"Automatically delete the address if this was the last queue") boolean 
autoDeleteAddress) throws Exception;

Review comment:
       This name could be fairly misleading with that doc along with it, which 
isnt precisely what it does. I would consider it reasonable to think think a 
'force' auto deletion described that way would always delete and do it there 
and then, which it doesnt necessarily. It only deletes due to this if the 
address was itself auto-created, and only if it has an exactly-0 
autoDeleteDelay.
   
   This would again give super-surprising behaviour if auto-delete-delay is 
also disabled in the broker config generally, as it was leading to finding this 
issue, since the address would then never be removed (by the reaper), even 
despite this requested 'forcing'.
   




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to