[jira] [Work logged] (ARTEMIS-4510) Add auto-create-destination logic to diverts

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4510?focusedWorklogId=910013=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-910013
 ]

ASF GitHub Bot logged work on ARTEMIS-4510:
---

Author: ASF GitHub Bot
Created on: 15/Mar/24 03:12
Start Date: 15/Mar/24 03:12
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on PR #4681:
URL: 
https://github.com/apache/activemq-artemis/pull/4681#issuecomment-1998863063

   @jbertram I actually thought we would create auto-created destinations on 
Divert. I kind of agree with @AntonRoskvist here that we already have an 
auto-create attribute. 
   
   If you're Diverting to an non existing destination, you could create it.
   
   
   Although.. going a step back.. why you would create a Divert to a non 
existing destination? a Divert is from one destination to another, right? why 
so you need auto-create on diverts?




Issue Time Tracking
---

Worklog Id: (was: 910013)
Time Spent: 3h  (was: 2h 50m)

> Add auto-create-destination logic to diverts
> 
>
> Key: ARTEMIS-4510
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4510
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Reporter: Anton Roskvist
>Priority: Major
>  Time Spent: 3h
>  Remaining Estimate: 0h
>
> This enables the use of dynamic routing decisions within the transformer by 
> setting the message address. It also covers for a rare problem where if any 
> of the forwarding addresses are removed during runtime, such as from 
> auto-delete, the message would get silently dropped.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4510) Add auto-create-destination logic to diverts

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4510?focusedWorklogId=910012=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-910012
 ]

ASF GitHub Bot logged work on ARTEMIS-4510:
---

Author: ASF GitHub Bot
Created on: 15/Mar/24 03:10
Start Date: 15/Mar/24 03:10
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on code in PR #4681:
URL: https://github.com/apache/activemq-artemis/pull/4681#discussion_r1525706187


##
artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/DivertImpl.java:
##
@@ -136,6 +139,21 @@ public void route(final Message message, final 
RoutingContext context) throws Ex
 
 // We call reencode at the end only, in a single call.
 copy.reencode();
+
+if 
(postOffice.getAddressSettingsMatch(copy.getAddress()).isAutoCreateDivertDestination())
 {

Review Comment:
   Instead of getAddressSettingsMatch on every message (which will actually 
have a negative perf impact for any case), you should rather check once, and 
register a listener on the HierarchicalRepositoryChangeListener.
   
   This is how actually page updates the maxPage data after anything is changed:
   
   
https://github.com/apache/activemq-artemis/blob/89c3a627e9ca2b1ef48a6411d372c32f90a6f9ed/artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/impl/PagingManagerImpl.java#L192-L194
   
   
   you could also have such listener done on a higher level and call every 
Divert to recalculate attributes (that would be less risky of leaks, say a 
Divert being unregistered would leak on the Listener).
   
   





Issue Time Tracking
---

Worklog Id: (was: 910012)
Time Spent: 2h 50m  (was: 2h 40m)

> Add auto-create-destination logic to diverts
> 
>
> Key: ARTEMIS-4510
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4510
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Reporter: Anton Roskvist
>Priority: Major
>  Time Spent: 2h 50m
>  Remaining Estimate: 0h
>
> This enables the use of dynamic routing decisions within the transformer by 
> setting the message address. It also covers for a rare problem where if any 
> of the forwarding addresses are removed during runtime, such as from 
> auto-delete, the message would get silently dropped.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4689) Import command should accept URL

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4689?focusedWorklogId=910011=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-910011
 ]

ASF GitHub Bot logged work on ARTEMIS-4689:
---

Author: ASF GitHub Bot
Created on: 15/Mar/24 02:55
Start Date: 15/Mar/24 02:55
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on PR #4855:
URL: 
https://github.com/apache/activemq-artemis/pull/4855#issuecomment-1998851265

   @jbertram I think it gets confusing. I think we should have an upper class 
that does not ask for those. 
   
   This is actually probably the reason why it didn't extend the class and made 
a copy of the properties instead of reusing stuff.




Issue Time Tracking
---

Worklog Id: (was: 910011)
Time Spent: 1h 10m  (was: 1h)

> Import command should accept URL
> 
>
> Key: ARTEMIS-4689
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4689
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Justin Bertram
>Assignee: Justin Bertram
>Priority: Major
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> Currently the import command only takes host & port with regard to its 
> connection to the broker. It should take a URL instead so that the connection 
> can be configured appropriately for more use-cases (e.g. using TLS).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4689) Import command should accept URL

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4689?focusedWorklogId=910003=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-910003
 ]

ASF GitHub Bot logged work on ARTEMIS-4689:
---

Author: ASF GitHub Bot
Created on: 15/Mar/24 01:23
Start Date: 15/Mar/24 01:23
Worklog Time Spent: 10m 
  Work Description: jbertram commented on PR #4855:
URL: 
https://github.com/apache/activemq-artemis/pull/4855#issuecomment-1998733027

   No, it doesn't really make sense to specify `protocol` or `clientID`, but it 
doesn't really hurt either as far as I can tell. It would be worth adjusting 
the abstract to have one that's more generic for basic connectivity.




Issue Time Tracking
---

Worklog Id: (was: 910003)
Time Spent: 1h  (was: 50m)

> Import command should accept URL
> 
>
> Key: ARTEMIS-4689
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4689
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Justin Bertram
>Assignee: Justin Bertram
>Priority: Major
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Currently the import command only takes host & port with regard to its 
> connection to the broker. It should take a URL instead so that the connection 
> can be configured appropriately for more use-cases (e.g. using TLS).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4689) Import command should accept URL

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4689?focusedWorklogId=90=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90
 ]

ASF GitHub Bot logged work on ARTEMIS-4689:
---

Author: ASF GitHub Bot
Created on: 15/Mar/24 00:58
Start Date: 15/Mar/24 00:58
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on PR #4855:
URL: 
https://github.com/apache/activemq-artemis/pull/4855#issuecomment-1998714100

   h... maybe we need to tweak the Abstract a bit.
   
   
   does it make sense to specify --protocol on the import?
   
   what about clientID?
   
   ```
   Usage: artemis data imp [--legacy-prefixes] [--silent] [--sort] [--verbose]
   [--acceptor=] [--clientID=]
   --input= [--password=]
   [--protocol=] [--url=]
   [--user=]
   Import all message-data using an XML that could be interpreted by any system.
 --acceptor=
 Name used to find the default connection URL on the
   acceptor list. If an acceptor with that name 
cannot
   be found the CLI will look for a connector with 
the
   same name.
 --clientID=
 ClientID set on the connection.
 --input= The input file name. Default: exp.dmp.
 --legacy-prefixes   Do not remove prefixes from legacy imports.
 --password=
 Password used to connect.
 --protocol=
 Protocol used. Valid values are AMQP, CORE
 --silentDisable all the inputs, and make a best guess for 
any
   required input.
 --sort  Sort the messages from the input (used for older
   versions that won't sort messages).
 --url=   Connection URL. Default: build URL from the 
'artemis'
   acceptor defined in the broker.xml or tcp:
   //localhost:61616 if the acceptor cannot be 
parsed.
 --user=   User used to connect.
 --verbose   Print additional information.
   
   ```




Issue Time Tracking
---

Worklog Id: (was: 90)
Time Spent: 50m  (was: 40m)

> Import command should accept URL
> 
>
> Key: ARTEMIS-4689
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4689
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Justin Bertram
>Assignee: Justin Bertram
>Priority: Major
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Currently the import command only takes host & port with regard to its 
> connection to the broker. It should take a URL instead so that the connection 
> can be configured appropriately for more use-cases (e.g. using TLS).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4582) add view and edit permissions to extend security-settings rbac for management operations

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4582?focusedWorklogId=909978=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909978
 ]

ASF GitHub Bot logged work on ARTEMIS-4582:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 20:58
Start Date: 14/Mar/24 20:58
Worklog Time Spent: 10m 
  Work Description: gtully commented on PR #4820:
URL: 
https://github.com/apache/activemq-artemis/pull/4820#issuecomment-1998472976

   @jbertram I think this is in a happy place if you have some cycles to peek 
again. thanks




Issue Time Tracking
---

Worklog Id: (was: 909978)
Time Spent: 4.5h  (was: 4h 20m)

> add view and edit permissions to extend security-settings rbac for management 
> operations
> 
>
> Key: ARTEMIS-4582
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4582
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker, Configuration, JMX, Web Console
>Affects Versions: 2.31.0
>Reporter: Gary Tully
>Assignee: Gary Tully
>Priority: Major
>  Time Spent: 4.5h
>  Remaining Estimate: 0h
>
> we have the manage permission that allows sending to the management address, 
> to access any control resource. We don't however distinguish what a user can 
> do.
> We should segment control operations into categories: CRUD provides a basis
> view for get/is (Read)
> edit for set or operations that mutate or modify.
> We allow this sort of configuration via management.xml for jmx mbean access 
> but using a different model based on object name.
> All of the mbeans delegate to the control resources.
> If we add these two additional permissions then we can have a single rbac 
> model (that supports config reload) and more granularity on control resource 
> access from the management address.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4690) Remove deprecated StorageManager.addAddressSettings from codebase.

2024-03-14 Thread ASF subversion and git services (Jira)


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

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

Commit 49013aa5bd8d97c929de8f7f07eb54ca2b377de8 in activemq-artemis's branch 
refs/heads/main from Gary Tully
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=49013aa5bd ]

ARTEMIS-4690 fix java doc generation


> Remove deprecated StorageManager.addAddressSettings from codebase.
> --
>
> Key: ARTEMIS-4690
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4690
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Clebert Suconic
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> User facing deprecated methods such as AddressControl::addAddressSettings 
> should already use the new method.
> Also some tests that were using the method should switch to the newer methods.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] (ARTEMIS-4582) add view and edit permissions to extend security-settings rbac for management operations

2024-03-14 Thread Gary Tully (Jira)


[ https://issues.apache.org/jira/browse/ARTEMIS-4582 ]


Gary Tully deleted comment on ARTEMIS-4582:
-

was (Author: gtully):
The control resources are registered using prefixes, such that they are 
available for dynamic invocation, something like sever control is registered 
under "broker"

using the management address as the root, permissions on 
activemq.management.control.broker would be used to configure permissions on 
the servercontrol etc. Where operations are on queuecontrol the actual queue 
name would be  part of the key.

> add view and edit permissions to extend security-settings rbac for management 
> operations
> 
>
> Key: ARTEMIS-4582
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4582
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker, Configuration, JMX, Web Console
>Affects Versions: 2.31.0
>Reporter: Gary Tully
>Assignee: Gary Tully
>Priority: Major
>  Time Spent: 4h 20m
>  Remaining Estimate: 0h
>
> we have the manage permission that allows sending to the management address, 
> to access any control resource. We don't however distinguish what a user can 
> do.
> We should segment control operations into categories: CRUD provides a basis
> view for get/is (Read)
> edit for set or operations that mutate or modify.
> We allow this sort of configuration via management.xml for jmx mbean access 
> but using a different model based on object name.
> All of the mbeans delegate to the control resources.
> If we add these two additional permissions then we can have a single rbac 
> model (that supports config reload) and more granularity on control resource 
> access from the management address.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Comment Edited] (ARTEMIS-4582) add view and edit permissions to extend security-settings rbac for management operations

2024-03-14 Thread Gary Tully (Jira)


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

Gary Tully edited comment on ARTEMIS-4582 at 3/14/24 8:33 PM:
--

existing permissions: 
[https://activemq.apache.org/components/artemis/documentation/latest/security.html#role-based-security-for-addresses]

 

something like:

{{

    
        

        
        
    
    
         
         
   
}}


was (Author: gtully):
existing permissions: 
[https://activemq.apache.org/components/artemis/documentation/latest/security.html#role-based-security-for-addresses]

 

something like:

{{

    
        

        
        
    
    
         
         
   
}}

> add view and edit permissions to extend security-settings rbac for management 
> operations
> 
>
> Key: ARTEMIS-4582
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4582
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker, Configuration, JMX, Web Console
>Affects Versions: 2.31.0
>Reporter: Gary Tully
>Assignee: Gary Tully
>Priority: Major
>  Time Spent: 4h 20m
>  Remaining Estimate: 0h
>
> we have the manage permission that allows sending to the management address, 
> to access any control resource. We don't however distinguish what a user can 
> do.
> We should segment control operations into categories: CRUD provides a basis
> view for get/is (Read)
> edit for set or operations that mutate or modify.
> We allow this sort of configuration via management.xml for jmx mbean access 
> but using a different model based on object name.
> All of the mbeans delegate to the control resources.
> If we add these two additional permissions then we can have a single rbac 
> model (that supports config reload) and more granularity on control resource 
> access from the management address.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (ARTEMIS-4582) add view and edit permissions to extend security-settings rbac for management operations

2024-03-14 Thread Gary Tully (Jira)


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

Gary Tully updated ARTEMIS-4582:

Description: 
we have the manage permission that allows sending to the management address, to 
access any control resource. We don't however distinguish what a user can do.

We should segment control operations into categories: CRUD provides a basis

view for get/is (Read)

edit for set or operations that mutate or modify.

We allow this sort of configuration via management.xml for jmx mbean access but 
using a different model based on object name.

All of the mbeans delegate to the control resources.

If we add these two additional permissions then we can have a single rbac model 
(that supports config reload) and more granularity on control resource access 
from the management address.

  was:
we have the manage permission that allows sending to the management address, to 
access any control resource. We don't however distinguish what a user can do.

We should segment control operations into categories: CRUD provides a basis

view for get/is (Read)

update for set or operations that mutate or modify.

We allow this sort of configuration via management.xml for jmx mbean access but 
using a different model based on object name.

All of the mbeans delegate to the control resources.

If we add these two additional permissions then we can have a single rbac model 
(that supports config reload) and more granularity on control resource access 
from the management address.


> add view and edit permissions to extend security-settings rbac for management 
> operations
> 
>
> Key: ARTEMIS-4582
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4582
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker, Configuration, JMX, Web Console
>Affects Versions: 2.31.0
>Reporter: Gary Tully
>Assignee: Gary Tully
>Priority: Major
>  Time Spent: 4h 20m
>  Remaining Estimate: 0h
>
> we have the manage permission that allows sending to the management address, 
> to access any control resource. We don't however distinguish what a user can 
> do.
> We should segment control operations into categories: CRUD provides a basis
> view for get/is (Read)
> edit for set or operations that mutate or modify.
> We allow this sort of configuration via management.xml for jmx mbean access 
> but using a different model based on object name.
> All of the mbeans delegate to the control resources.
> If we add these two additional permissions then we can have a single rbac 
> model (that supports config reload) and more granularity on control resource 
> access from the management address.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (ARTEMIS-4582) add view and edit permissions to extend security-settings rbac for management operations

2024-03-14 Thread Gary Tully (Jira)


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

Gary Tully updated ARTEMIS-4582:

Summary: add view and edit permissions to extend security-settings rbac for 
management operations  (was: add view and update permissions to augment the 
manage rbac for control resources)

> add view and edit permissions to extend security-settings rbac for management 
> operations
> 
>
> Key: ARTEMIS-4582
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4582
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker, Configuration, JMX, Web Console
>Affects Versions: 2.31.0
>Reporter: Gary Tully
>Assignee: Gary Tully
>Priority: Major
>  Time Spent: 4h 20m
>  Remaining Estimate: 0h
>
> we have the manage permission that allows sending to the management address, 
> to access any control resource. We don't however distinguish what a user can 
> do.
> We should segment control operations into categories: CRUD provides a basis
> view for get/is (Read)
> update for set or operations that mutate or modify.
> We allow this sort of configuration via management.xml for jmx mbean access 
> but using a different model based on object name.
> All of the mbeans delegate to the control resources.
> If we add these two additional permissions then we can have a single rbac 
> model (that supports config reload) and more granularity on control resource 
> access from the management address.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4510) Add auto-create-destination logic to diverts

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4510?focusedWorklogId=909971=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909971
 ]

ASF GitHub Bot logged work on ARTEMIS-4510:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 20:29
Start Date: 14/Mar/24 20:29
Worklog Time Spent: 10m 
  Work Description: AntonRoskvist commented on code in PR #4681:
URL: https://github.com/apache/activemq-artemis/pull/4681#discussion_r1525453152


##
artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/AddressSettings.java:
##
@@ -1835,6 +1856,8 @@ public void encode(ActiveMQBuffer buffer) {
   BufferHelper.writeNullableInteger(buffer, prefetchPageBytes);
 
   BufferHelper.writeNullableInteger(buffer, prefetchPageMessages);
+
+  BufferHelper.writeNullableBoolean(buffer, autoCreateDivertDestination);

Review Comment:
   @clebertsuconic Yes, looking good after rebasing. Thanks!





Issue Time Tracking
---

Worklog Id: (was: 909971)
Time Spent: 2h 40m  (was: 2.5h)

> Add auto-create-destination logic to diverts
> 
>
> Key: ARTEMIS-4510
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4510
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Reporter: Anton Roskvist
>Priority: Major
>  Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> This enables the use of dynamic routing decisions within the transformer by 
> setting the message address. It also covers for a rare problem where if any 
> of the forwarding addresses are removed during runtime, such as from 
> auto-delete, the message would get silently dropped.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4675) Add replication status metrics

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4675?focusedWorklogId=909960=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909960
 ]

ASF GitHub Bot logged work on ARTEMIS-4675:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 18:55
Start Date: 14/Mar/24 18:55
Worklog Time Spent: 10m 
  Work Description: jbertram commented on PR #4844:
URL: 
https://github.com/apache/activemq-artemis/pull/4844#issuecomment-1998119785

   Generally speaking, exported metrics are not meant for debugging, per se. 
Exported metrics are really designed for runtime monitoring which is why we 
don't export everything but only the stuff that really matters for 
understanding how the broker is functioning in real time. This keeps the 
metrics' footprint relatively low and performance relatively high.
   
   Metrics are often consumed by external systems that are not only used to 
visualize the data but are also used to alert on specific conditions. With that 
in mind, metrics should be something that can either be meaningfully visualized 
over time (i.e. the size of a queue) or whose state might indicate a problem 
(e.g. a passive backup broker that becomes active might trigger an alert).
   
   It's not clear to me where the activation sequence fits in to this 
framework. It seems like it would be better to log activation sequence changes 
and if you need to debug something then you can take a look at the log. At this 
point, I don't see how it would be specifically useful to expose this as a 
metric. Do you have a particular use-case in mind?
   
   Regarding the "synchronizing" metric you added, please elaborate on how it's 
functioning now and how you expect it to function.
   
   Also, it's worth noting that the "synchronizing" and "replica.sync" metrics 
are looking at the _same_ underlying data so one is redundant and should be 
removed.




Issue Time Tracking
---

Worklog Id: (was: 909960)
Time Spent: 40m  (was: 0.5h)

> Add replication status metrics
> --
>
> Key: ARTEMIS-4675
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4675
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>  Components: Clustering
>Affects Versions: 2.32.0
>Reporter: Alvin Kwekel
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> Add metrics to be able to monitor the cluster replication status.
> Somewhat related to feature request ARTEMIS-4479.
> I've created a PR for this: 
> https://github.com/apache/activemq-artemis/pull/4844



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4657) Support correlation ID compatibility between JMS clients

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4657?focusedWorklogId=909959=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909959
 ]

ASF GitHub Bot logged work on ARTEMIS-4657:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 18:36
Start Date: 14/Mar/24 18:36
Worklog Time Spent: 10m 
  Work Description: jbertram commented on code in PR #4833:
URL: https://github.com/apache/activemq-artemis/pull/4833#discussion_r1525338272


##
artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessageConverter.java:
##
@@ -590,9 +590,9 @@ private static ActiveMQMessage 
toAMQMessage(MessageReference reference,
   }
   amqMsg.setCommandId(commandId);
 
-  final SimpleString corrId = getObjectProperty(coreMessage, 
SimpleString.class, OpenWireConstants.JMS_CORRELATION_ID_PROPERTY);
-  if (corrId != null) {
- amqMsg.setCorrelationId(corrId.toString());
+  final Object correlationID = coreMessage.getCorrelationID();
+  if (correlationID != null) {
+ amqMsg.setCorrelationId(correlationID.toString());

Review Comment:
   @gemmellr, is this ready to merge in your opinion?





Issue Time Tracking
---

Worklog Id: (was: 909959)
Time Spent: 3.5h  (was: 3h 20m)

> Support correlation ID compatibility between JMS clients
> 
>
> Key: ARTEMIS-4657
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4657
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Reporter: Justin Bertram
>Assignee: Justin Bertram
>Priority: Major
>  Time Spent: 3.5h
>  Remaining Estimate: 0h
>
> Currently there are some use-cases with both {{String}} and {{byte[]}} values 
> of JMS correlation ID that don't work between Core, OpenWire, and AMQP. We 
> should support as many as possible.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4689) Import command should accept URL

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4689?focusedWorklogId=909955=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909955
 ]

ASF GitHub Bot logged work on ARTEMIS-4689:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 17:48
Start Date: 14/Mar/24 17:48
Worklog Time Spent: 10m 
  Work Description: jbertram commented on code in PR #4855:
URL: https://github.com/apache/activemq-artemis/pull/4855#discussion_r1525285537


##
artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataImporter.java:
##
@@ -90,10 +91,12 @@ public final class XmlDataImporter extends ActionAbstract {
private ClientSession session;
private ClientProducer producer;
 
-   @Option(names = "--host", description = "The host used to import the data. 
Default: localhost.")
-   public String host = "localhost";
+   @Deprecated(forRemoval = true)
+   @Option(names = "--host", description = "The host used to import the data. 
Default: null. Deprecated! Use 'url' instead.")

Review Comment:
   I added `hidden = true`, but I left `@Deprecated` so that we will remember 
to remove it at the next major version.





Issue Time Tracking
---

Worklog Id: (was: 909955)
Time Spent: 40m  (was: 0.5h)

> Import command should accept URL
> 
>
> Key: ARTEMIS-4689
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4689
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Justin Bertram
>Assignee: Justin Bertram
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> Currently the import command only takes host & port with regard to its 
> connection to the broker. It should take a URL instead so that the connection 
> can be configured appropriately for more use-cases (e.g. using TLS).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4510) Add auto-create-destination logic to diverts

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4510?focusedWorklogId=909954=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909954
 ]

ASF GitHub Bot logged work on ARTEMIS-4510:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 17:43
Start Date: 14/Mar/24 17:43
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on code in PR #4681:
URL: https://github.com/apache/activemq-artemis/pull/4681#discussion_r1525279265


##
artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/AddressSettings.java:
##
@@ -1835,6 +1856,8 @@ public void encode(ActiveMQBuffer buffer) {
   BufferHelper.writeNullableInteger(buffer, prefetchPageBytes);
 
   BufferHelper.writeNullableInteger(buffer, prefetchPageMessages);
+
+  BufferHelper.writeNullableBoolean(buffer, autoCreateDivertDestination);

Review Comment:
   @AntonRoskvist I have merged #4854... if you rebase against main, you can 
add anything to the tests you mentioned and it should work now.
   
   I have removed any usage of the older encoder.. just keeping the decoder for 
compatibility with older journals.





Issue Time Tracking
---

Worklog Id: (was: 909954)
Time Spent: 2.5h  (was: 2h 20m)

> Add auto-create-destination logic to diverts
> 
>
> Key: ARTEMIS-4510
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4510
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Reporter: Anton Roskvist
>Priority: Major
>  Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> This enables the use of dynamic routing decisions within the transformer by 
> setting the message address. It also covers for a rare problem where if any 
> of the forwarding addresses are removed during runtime, such as from 
> auto-delete, the message would get silently dropped.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4689) Import command should accept URL

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4689?focusedWorklogId=909953=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909953
 ]

ASF GitHub Bot logged work on ARTEMIS-4689:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 17:41
Start Date: 14/Mar/24 17:41
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on code in PR #4855:
URL: https://github.com/apache/activemq-artemis/pull/4855#discussion_r1525277290


##
artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataImporter.java:
##
@@ -90,10 +91,12 @@ public final class XmlDataImporter extends ActionAbstract {
private ClientSession session;
private ClientProducer producer;
 
-   @Option(names = "--host", description = "The host used to import the data. 
Default: localhost.")
-   public String host = "localhost";
+   @Deprecated(forRemoval = true)
+   @Option(names = "--host", description = "The host used to import the data. 
Default: null. Deprecated! Use 'url' instead.")
+   public String host = null;
 
-   @Option(names = "--port", description = "The port used to import the data. 
Default: 61616.")
+   @Deprecated(forRemoval = true)
+   @Option(names = "--port", description = "The port used to import the data. 
Default: 61616. Deprecated! Use 'url' instead.")

Review Comment:
   eg: 
https://github.com/apache/activemq-artemis/blob/7742936583d48e179f67c7d73b7b49cbe83731d5/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/messages/DestAbstract.java#L41-L42
   
   
   if you have a script showing the older parameters, it should work fine, but 
it will prevent users from discovering the deprecated term.
   
   
   it is the best approach on the CLI.. hidden=true





Issue Time Tracking
---

Worklog Id: (was: 909953)
Time Spent: 0.5h  (was: 20m)

> Import command should accept URL
> 
>
> Key: ARTEMIS-4689
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4689
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Justin Bertram
>Assignee: Justin Bertram
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Currently the import command only takes host & port with regard to its 
> connection to the broker. It should take a URL instead so that the connection 
> can be configured appropriately for more use-cases (e.g. using TLS).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4689) Import command should accept URL

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4689?focusedWorklogId=909951=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909951
 ]

ASF GitHub Bot logged work on ARTEMIS-4689:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 17:39
Start Date: 14/Mar/24 17:39
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on code in PR #4855:
URL: https://github.com/apache/activemq-artemis/pull/4855#discussion_r1525274543


##
artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataImporter.java:
##
@@ -90,10 +91,12 @@ public final class XmlDataImporter extends ActionAbstract {
private ClientSession session;
private ClientProducer producer;
 
-   @Option(names = "--host", description = "The host used to import the data. 
Default: localhost.")
-   public String host = "localhost";
+   @Deprecated(forRemoval = true)
+   @Option(names = "--host", description = "The host used to import the data. 
Default: null. Deprecated! Use 'url' instead.")

Review Comment:
   just use hidden=true, no need to deprecate things in the CLI.



##
artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/xml/XmlDataImporter.java:
##
@@ -90,10 +91,12 @@ public final class XmlDataImporter extends ActionAbstract {
private ClientSession session;
private ClientProducer producer;
 
-   @Option(names = "--host", description = "The host used to import the data. 
Default: localhost.")
-   public String host = "localhost";
+   @Deprecated(forRemoval = true)
+   @Option(names = "--host", description = "The host used to import the data. 
Default: null. Deprecated! Use 'url' instead.")
+   public String host = null;
 
-   @Option(names = "--port", description = "The port used to import the data. 
Default: 61616.")
+   @Deprecated(forRemoval = true)
+   @Option(names = "--port", description = "The port used to import the data. 
Default: 61616. Deprecated! Use 'url' instead.")

Review Comment:
   just use hidden





Issue Time Tracking
---

Worklog Id: (was: 909951)
Time Spent: 20m  (was: 10m)

> Import command should accept URL
> 
>
> Key: ARTEMIS-4689
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4689
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Justin Bertram
>Assignee: Justin Bertram
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Currently the import command only takes host & port with regard to its 
> connection to the broker. It should take a URL instead so that the connection 
> can be configured appropriately for more use-cases (e.g. using TLS).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4690) Remove deprecated StorageManager.addAddressSettings from codebase.

2024-03-14 Thread ASF subversion and git services (Jira)


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

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

Commit 82c4df180e4bd51dafe93e29b387ad61a0d18eb8 in activemq-artemis's branch 
refs/heads/main from Clebert Suconic
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=82c4df180e ]

ARTEMIS-4690 Remove storageManager.addAddressSettings from the codebase


> Remove deprecated StorageManager.addAddressSettings from codebase.
> --
>
> Key: ARTEMIS-4690
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4690
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Clebert Suconic
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> User facing deprecated methods such as AddressControl::addAddressSettings 
> should already use the new method.
> Also some tests that were using the method should switch to the newer methods.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4689) Import command should accept URL

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4689?focusedWorklogId=909950=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909950
 ]

ASF GitHub Bot logged work on ARTEMIS-4689:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 17:38
Start Date: 14/Mar/24 17:38
Worklog Time Spent: 10m 
  Work Description: jbertram opened a new pull request, #4855:
URL: https://github.com/apache/activemq-artemis/pull/4855

   (no comment)




Issue Time Tracking
---

Worklog Id: (was: 909950)
Remaining Estimate: 0h
Time Spent: 10m

> Import command should accept URL
> 
>
> Key: ARTEMIS-4689
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4689
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Justin Bertram
>Assignee: Justin Bertram
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently the import command only takes host & port with regard to its 
> connection to the broker. It should take a URL instead so that the connection 
> can be configured appropriately for more use-cases (e.g. using TLS).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4690) Remove deprecated StorageManager.addAddressSettings from codebase.

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4690?focusedWorklogId=909949=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909949
 ]

ASF GitHub Bot logged work on ARTEMIS-4690:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 17:38
Start Date: 14/Mar/24 17:38
Worklog Time Spent: 10m 
  Work Description: clebertsuconic merged PR #4854:
URL: https://github.com/apache/activemq-artemis/pull/4854




Issue Time Tracking
---

Worklog Id: (was: 909949)
Time Spent: 20m  (was: 10m)

> Remove deprecated StorageManager.addAddressSettings from codebase.
> --
>
> Key: ARTEMIS-4690
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4690
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Clebert Suconic
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> User facing deprecated methods such as AddressControl::addAddressSettings 
> should already use the new method.
> Also some tests that were using the method should switch to the newer methods.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (ARTEMIS-4686) Reduce number of FilterImpl instances

2024-03-14 Thread ASF subversion and git services (Jira)


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

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

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

ARTEMIS-4686 reduce number of FilterImpl instances

Whenever we create a queue with a filter we're instantiating 3 different
`org.apache.activemq.artemis.core.filter.impl.FilterImpl` objects. This
is wasteful and entirely avoidable.


> Reduce number of FilterImpl instances
> -
>
> Key: ARTEMIS-4686
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4686
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Reporter: Justin Bertram
>Assignee: Justin Bertram
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4686) Reduce number of FilterImpl instances

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4686?focusedWorklogId=909942=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909942
 ]

ASF GitHub Bot logged work on ARTEMIS-4686:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 17:27
Start Date: 14/Mar/24 17:27
Worklog Time Spent: 10m 
  Work Description: clebertsuconic merged PR #4853:
URL: https://github.com/apache/activemq-artemis/pull/4853




Issue Time Tracking
---

Worklog Id: (was: 909942)
Time Spent: 20m  (was: 10m)

> Reduce number of FilterImpl instances
> -
>
> Key: ARTEMIS-4686
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4686
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Reporter: Justin Bertram
>Assignee: Justin Bertram
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (ARTEMIS-4687) Concurrent use of DocumentBuilder breaking Xpath filtering

2024-03-14 Thread Justin Bertram (Jira)


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

Justin Bertram resolved ARTEMIS-4687.
-
Fix Version/s: 2.33.0
   Resolution: Fixed

> Concurrent use of DocumentBuilder breaking Xpath filtering
> --
>
> Key: ARTEMIS-4687
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4687
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Justin Bertram
>Assignee: Justin Bertram
>Priority: Major
> Fix For: 2.33.0
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> When multiple multicast queues on the same address are configured with an 
> XPath filter some messages silently fail to be filtered.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (ARTEMIS-4687) Concurrent use of DocumentBuilder breaking Xpath filtering

2024-03-14 Thread Justin Bertram (Jira)


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

Justin Bertram updated ARTEMIS-4687:

Description: When multiple multicast queues on the same address are 
configured with an XPath filter some messages silently fail to be filtered.

> Concurrent use of DocumentBuilder breaking Xpath filtering
> --
>
> Key: ARTEMIS-4687
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4687
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Justin Bertram
>Assignee: Justin Bertram
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> When multiple multicast queues on the same address are configured with an 
> XPath filter some messages silently fail to be filtered.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4675) Add replication status metrics

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4675?focusedWorklogId=909931=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909931
 ]

ASF GitHub Bot logged work on ARTEMIS-4675:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 16:37
Start Date: 14/Mar/24 16:37
Worklog Time Spent: 10m 
  Work Description: alvinkwekel commented on PR #4844:
URL: 
https://github.com/apache/activemq-artemis/pull/4844#issuecomment-1997871496

   Hi @jbertram, thanks for your response. 
   
   I've added all cluster/replication related metrics that could to help with 
debugging later. Looking at the activation sequence over time would give an 
indication on restarts which could help to detect issues. Although I'm also not 
too sure if it will fit in well with the other metrics.
   
   Are there additional metrics you think that we should add for the 
replication monitor use case? The "synchronizing" is not working as I expected. 
What would be the way to get insight in the current state of synchronization?




Issue Time Tracking
---

Worklog Id: (was: 909931)
Time Spent: 0.5h  (was: 20m)

> Add replication status metrics
> --
>
> Key: ARTEMIS-4675
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4675
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>  Components: Clustering
>Affects Versions: 2.32.0
>Reporter: Alvin Kwekel
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Add metrics to be able to monitor the cluster replication status.
> Somewhat related to feature request ARTEMIS-4479.
> I've created a PR for this: 
> https://github.com/apache/activemq-artemis/pull/4844



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (AMQ-9453) Upgrade to Spring 5.3.32

2024-03-14 Thread Jira
Jean-Baptiste Onofré created AMQ-9453:
-

 Summary: Upgrade to Spring 5.3.32
 Key: AMQ-9453
 URL: https://issues.apache.org/jira/browse/AMQ-9453
 Project: ActiveMQ Classic
  Issue Type: Dependency upgrade
  Components: Broker
Reporter: Jean-Baptiste Onofré
Assignee: Jean-Baptiste Onofré
 Fix For: 5.18.4, 5.17.7






--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-4682) JDBC Storage slow to reboot the server

2024-03-14 Thread Clebert Suconic (Jira)


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

Clebert Suconic closed ARTEMIS-4682.

Fix Version/s: 2.33.0
   Resolution: Fixed

> JDBC Storage slow to reboot the server
> --
>
> Key: ARTEMIS-4682
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4682
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Clebert Suconic
>Assignee: Clebert Suconic
>Priority: Major
> Fix For: 2.33.0
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> If you use JDBC storage and lots of message in paging mode, the JDBC storage 
> will take a long time to load.
> There is a leak on the JDBC Sequential File Factory , and page.exists() is 
> selecting every existing file to check its existance. not very efficient.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4510) Add auto-create-destination logic to diverts

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4510?focusedWorklogId=909905=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909905
 ]

ASF GitHub Bot logged work on ARTEMIS-4510:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 14:39
Start Date: 14/Mar/24 14:39
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on code in PR #4681:
URL: https://github.com/apache/activemq-artemis/pull/4681#discussion_r1524997952


##
artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/AddressSettings.java:
##
@@ -1835,6 +1856,8 @@ public void encode(ActiveMQBuffer buffer) {
   BufferHelper.writeNullableInteger(buffer, prefetchPageBytes);
 
   BufferHelper.writeNullableInteger(buffer, prefetchPageMessages);
+
+  BufferHelper.writeNullableBoolean(buffer, autoCreateDivertDestination);

Review Comment:
   @AntonRoskvist Can you add your change and rebase your PR on top of 
https://github.com/apache/activemq-artemis/pull/4854
   
   
   The tests were still using the old method. I am removing *any* usage from 
the AddressSettings usage, and I am now making it *clearer* with a big javadoc 
to not have any more additions.
   
   
   The reason that you needed to add a field now was a reason I added the JSON 
format. I got tired to see that method's wire being changed over time.  That 
got even worse when I played with my private branches when I was only bringing 
the newer field and not the previous field.
   
   So, if I added field A and B on apache/master
   
   and only Brough field B to a private branch, my wire would be inconsistent 
with apache/main.  It was being clusterFreak to manage it :)
   
   
   If you could bring my commit to your PR (Rebase as I said), and bring any 
changes you like, it should now work.





Issue Time Tracking
---

Worklog Id: (was: 909905)
Time Spent: 2h 20m  (was: 2h 10m)

> Add auto-create-destination logic to diverts
> 
>
> Key: ARTEMIS-4510
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4510
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Reporter: Anton Roskvist
>Priority: Major
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> This enables the use of dynamic routing decisions within the transformer by 
> setting the message address. It also covers for a rare problem where if any 
> of the forwarding addresses are removed during runtime, such as from 
> auto-delete, the message would get silently dropped.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4690) Remove deprecated StorageManager.addAddressSettings from codebase.

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4690?focusedWorklogId=909900=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909900
 ]

ASF GitHub Bot logged work on ARTEMIS-4690:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 14:28
Start Date: 14/Mar/24 14:28
Worklog Time Spent: 10m 
  Work Description: clebertsuconic opened a new pull request, #4854:
URL: https://github.com/apache/activemq-artemis/pull/4854

   (no comment)




Issue Time Tracking
---

Worklog Id: (was: 909900)
Remaining Estimate: 0h
Time Spent: 10m

> Remove deprecated StorageManager.addAddressSettings from codebase.
> --
>
> Key: ARTEMIS-4690
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4690
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Clebert Suconic
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> User facing deprecated methods such as AddressControl::addAddressSettings 
> should already use the new method.
> Also some tests that were using the method should switch to the newer methods.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Closed] (ARTEMIS-4684) Internal queues should not have message redistributed

2024-03-14 Thread Clebert Suconic (Jira)


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

Clebert Suconic closed ARTEMIS-4684.

Resolution: Fixed

> Internal queues should not have message redistributed
> -
>
> Key: ARTEMIS-4684
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4684
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.32.0
>Reporter: Clebert Suconic
>Assignee: Clebert Suconic
>Priority: Major
> Fix For: 2.33.0
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> this is particularly an issue with Mirror. Where a command towards a node 
> could endup on a different node.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4690) Remove deprecated StorageManager.addAddressSettings from codebase.

2024-03-14 Thread Clebert Suconic (Jira)
Clebert Suconic created ARTEMIS-4690:


 Summary: Remove deprecated StorageManager.addAddressSettings from 
codebase.
 Key: ARTEMIS-4690
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4690
 Project: ActiveMQ Artemis
  Issue Type: Improvement
  Components: Broker
Reporter: Clebert Suconic


User facing deprecated methods such as AddressControl::addAddressSettings 
should already use the new method.

Also some tests that were using the method should switch to the newer methods.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4689) Import command should accept URL

2024-03-14 Thread Justin Bertram (Jira)
Justin Bertram created ARTEMIS-4689:
---

 Summary: Import command should accept URL
 Key: ARTEMIS-4689
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4689
 Project: ActiveMQ Artemis
  Issue Type: Bug
Reporter: Justin Bertram
Assignee: Justin Bertram


Currently the import command only takes host & port with regard to its 
connection to the broker. It should take a URL instead so that the connection 
can be configured appropriately for more use-cases (e.g. using TLS).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4510) Add auto-create-destination logic to diverts

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4510?focusedWorklogId=909892=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909892
 ]

ASF GitHub Bot logged work on ARTEMIS-4510:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 13:39
Start Date: 14/Mar/24 13:39
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on code in PR #4681:
URL: https://github.com/apache/activemq-artemis/pull/4681#discussion_r1524897918


##
artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/AddressSettings.java:
##
@@ -1835,6 +1856,8 @@ public void encode(ActiveMQBuffer buffer) {
   BufferHelper.writeNullableInteger(buffer, prefetchPageBytes);
 
   BufferHelper.writeNullableInteger(buffer, prefetchPageMessages);
+
+  BufferHelper.writeNullableBoolean(buffer, autoCreateDivertDestination);

Review Comment:
   I will run the tests and take a look... will comment back here after my 
findings by the end of my day .





Issue Time Tracking
---

Worklog Id: (was: 909892)
Time Spent: 2h 10m  (was: 2h)

> Add auto-create-destination logic to diverts
> 
>
> Key: ARTEMIS-4510
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4510
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Reporter: Anton Roskvist
>Priority: Major
>  Time Spent: 2h 10m
>  Remaining Estimate: 0h
>
> This enables the use of dynamic routing decisions within the transformer by 
> setting the message address. It also covers for a rare problem where if any 
> of the forwarding addresses are removed during runtime, such as from 
> auto-delete, the message would get silently dropped.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (ARTEMIS-4688) add idle subscription removal after timeout

2024-03-14 Thread Erwin Dondorp (Jira)
Erwin Dondorp created ARTEMIS-4688:
--

 Summary: add idle subscription removal after timeout
 Key: ARTEMIS-4688
 URL: https://issues.apache.org/jira/browse/ARTEMIS-4688
 Project: ActiveMQ Artemis
  Issue Type: Improvement
  Components: Broker
Affects Versions: 2.32.0
Reporter: Erwin Dondorp


In Artemis, messages expire by their individual message setting. With some 
variations possible via address settings in the broker configuration.

But unused subscription-queues are never removed, except for the non-durable 
ones.

Request is to add a idle-timeout for queues from durable subscriptions. The 
subscription and its queue should then be deleted when there are no subscribers 
during a given time-period.

I believe ActiveMQ Classic has this via the offlineDurableSubscriberTimeout 
setting, see also 
https://activemq.apache.org/components/classic/documentation/manage-durable-subscribers.

 

This subject was also mentioned a while back in 
[https://stackoverflow.com/questions/56115426/apache-activemq-artemis-durable-subscription-ttl;]
 but, for our use-cases, using only message-expiry is not sufficient. this is 
because each abandonned durable subscription still stores messages, and is thus 
using resources.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4582) add view and update permissions to augment the manage rbac for control resources

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4582?focusedWorklogId=909876=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909876
 ]

ASF GitHub Bot logged work on ARTEMIS-4582:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 12:30
Start Date: 14/Mar/24 12:30
Worklog Time Spent: 10m 
  Work Description: gtully commented on PR #4820:
URL: 
https://github.com/apache/activemq-artemis/pull/4820#issuecomment-1997343935

   And on update, there is a case for suggesting a publisher would need the 
update permission on an address to send a message, or a consumer could be 
updating  by acking. It is not clear that the update permission is about 
management.
   Something like `edit` is less ambiguous, considering all the other perms are 
about messaging. 
   I think i am replacing update with edit.




Issue Time Tracking
---

Worklog Id: (was: 909876)
Time Spent: 4h 20m  (was: 4h 10m)

> add view and update permissions to augment the manage rbac for control 
> resources
> 
>
> Key: ARTEMIS-4582
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4582
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker, Configuration, JMX, Web Console
>Affects Versions: 2.31.0
>Reporter: Gary Tully
>Assignee: Gary Tully
>Priority: Major
>  Time Spent: 4h 20m
>  Remaining Estimate: 0h
>
> we have the manage permission that allows sending to the management address, 
> to access any control resource. We don't however distinguish what a user can 
> do.
> We should segment control operations into categories: CRUD provides a basis
> view for get/is (Read)
> update for set or operations that mutate or modify.
> We allow this sort of configuration via management.xml for jmx mbean access 
> but using a different model based on object name.
> All of the mbeans delegate to the control resources.
> If we add these two additional permissions then we can have a single rbac 
> model (that supports config reload) and more granularity on control resource 
> access from the management address.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4582) add view and update permissions to augment the manage rbac for control resources

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4582?focusedWorklogId=909875=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909875
 ]

ASF GitHub Bot logged work on ARTEMIS-4582:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 12:27
Start Date: 14/Mar/24 12:27
Worklog Time Spent: 10m 
  Work Description: gtully commented on PR #4820:
URL: 
https://github.com/apache/activemq-artemis/pull/4820#issuecomment-1997338325

   new thought, the two prefixes for the security settings match, jmx and 
mgmt_msg will get in the way of doing filtering of aggregate operations like 
list* on a server control. Ideally your broker.listQueues query would only 
return what you can view. At the level of the control, we don't know if the 
call is from jmx or management messages. So a single prefix would be better.
   Say management_ops, or `mops` as a default, and have a boolean to enable 
more fine grained access control for management messages, when true, it will 
look for the `mops` prefix.




Issue Time Tracking
---

Worklog Id: (was: 909875)
Time Spent: 4h 10m  (was: 4h)

> add view and update permissions to augment the manage rbac for control 
> resources
> 
>
> Key: ARTEMIS-4582
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4582
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker, Configuration, JMX, Web Console
>Affects Versions: 2.31.0
>Reporter: Gary Tully
>Assignee: Gary Tully
>Priority: Major
>  Time Spent: 4h 10m
>  Remaining Estimate: 0h
>
> we have the manage permission that allows sending to the management address, 
> to access any control resource. We don't however distinguish what a user can 
> do.
> We should segment control operations into categories: CRUD provides a basis
> view for get/is (Read)
> update for set or operations that mutate or modify.
> We allow this sort of configuration via management.xml for jmx mbean access 
> but using a different model based on object name.
> All of the mbeans delegate to the control resources.
> If we add these two additional permissions then we can have a single rbac 
> model (that supports config reload) and more granularity on control resource 
> access from the management address.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4498) Enable management for internal addresses & queues

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4498?focusedWorklogId=909859=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909859
 ]

ASF GitHub Bot logged work on ARTEMIS-4498:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 10:22
Start Date: 14/Mar/24 10:22
Worklog Time Spent: 10m 
  Work Description: AntonRoskvist commented on PR #4670:
URL: 
https://github.com/apache/activemq-artemis/pull/4670#issuecomment-1997111086

   @clebertsuconic Pinging as per your request on the dev list to consider this 
PR for the 2.33.0 release.
   If anything's looking odd I can attempt to address it with high prio.
   Thanks




Issue Time Tracking
---

Worklog Id: (was: 909859)
Time Spent: 5h 10m  (was: 5h)

> Enable management for internal addresses & queues
> -
>
> Key: ARTEMIS-4498
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4498
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Reporter: Anton Roskvist
>Priority: Major
>  Time Spent: 5h 10m
>  Remaining Estimate: 0h
>
> Originally "internal" addresses and queues weren't meant to be exposed via 
> management. However, due to a bug where the "internal" attribute of a queue 
> was not persisted properly such queues have been exposed to management for a 
> long time. This was fixed via ARTEMIS-4396, but users still want the ability 
> to manage internal queues because it is extremely helpful when trying to 
> troubleshoot issues. Therefore, this functionality should be configurable.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (ARTEMIS-4510) Add auto-create-destination logic to diverts

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-4510?focusedWorklogId=909858=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909858
 ]

ASF GitHub Bot logged work on ARTEMIS-4510:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 10:11
Start Date: 14/Mar/24 10:11
Worklog Time Spent: 10m 
  Work Description: AntonRoskvist commented on code in PR #4681:
URL: https://github.com/apache/activemq-artemis/pull/4681#discussion_r1524585315


##
artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/AddressSettings.java:
##
@@ -1835,6 +1856,8 @@ public void encode(ActiveMQBuffer buffer) {
   BufferHelper.writeNullableInteger(buffer, prefetchPageBytes);
 
   BufferHelper.writeNullableInteger(buffer, prefetchPageMessages);
+
+  BufferHelper.writeNullableBoolean(buffer, autoCreateDivertDestination);

Review Comment:
   @clebertsuconic Thanks, I have made the changes you suggested. The only 
thing I'm noticing now is that if I inject this setting in some current 
persistence tests they start failing, though I guess that might be expected 
with this new method?
   
   One example of a test that would fail is for instance:
   
`org.apache.activemq.artemis.tests.integration.persistence.AddressSettingsConfigurationStorageTest#testStoreSecuritySettings()`
 where if I add some random previous address setting (like 
`setAutoDeleteAddresses(true)`) the test still passes, whereas if I add 
`setAutoCreateDivertDestination(true)` the test fails.
   
   Is that right/expected or am I missing something?





Issue Time Tracking
---

Worklog Id: (was: 909858)
Time Spent: 2h  (was: 1h 50m)

> Add auto-create-destination logic to diverts
> 
>
> Key: ARTEMIS-4510
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4510
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Reporter: Anton Roskvist
>Priority: Major
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> This enables the use of dynamic routing decisions within the transformer by 
> setting the message address. It also covers for a rare problem where if any 
> of the forwarding addresses are removed during runtime, such as from 
> auto-delete, the message would get silently dropped.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Work logged] (AMQ-9452) StatisticsPlugin - field firstMessageTimestamp is not produced for AuthorizationDestinationFilter

2024-03-14 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/AMQ-9452?focusedWorklogId=909840=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-909840
 ]

ASF GitHub Bot logged work on AMQ-9452:
---

Author: ASF GitHub Bot
Created on: 14/Mar/24 08:46
Start Date: 14/Mar/24 08:46
Worklog Time Spent: 10m 
  Work Description: ggkochanski opened a new pull request, #1174:
URL: https://github.com/apache/activemq/pull/1174

   When dest is instance of DestinationFilter the queue/topic message is not 
accessed (statistic "firstMessageTimestamp" is not sent)




Issue Time Tracking
---

Worklog Id: (was: 909840)
Remaining Estimate: 0h
Time Spent: 10m

> StatisticsPlugin - field firstMessageTimestamp is not produced for 
> AuthorizationDestinationFilter
> -
>
> Key: AMQ-9452
> URL: https://issues.apache.org/jira/browse/AMQ-9452
> Project: ActiveMQ Classic
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 5.18.3
>Reporter: Grzegorz Kochański
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> {{StatisticsBroker}} does not send field {{firstMessageTimestamp}} as dest 
> may be instance of {{DestinationFilter}} (in my case: 
> {{{}AuthorizationDestinationFilter{}}})
> {code:java}
> if (includeFirstMessageTimestamp) {
> if (dest instanceof Queue) {
> ((Queue) dest).doBrowse(tempFirstMessage, 1);
> }
> else if (dest instanceof Topic) {
> ((Topic) dest).doBrowse(tempFirstMessage, 1);
> }
> if (!tempFirstMessage.isEmpty()) {
> Message message = tempFirstMessage.get(0);
> // NOTICE: Client-side, you may get the broker "now" Timestamp by 
> msg.getJMSTimestamp()
> // This allows for calculating age.
> statsMessage.setLong("firstMessageTimestamp", 
> message.getBrokerInTime());
> tempFirstMessage.clear();
> } {code}
>  
> It appears that {{BaseDestination}} may be unwinded:
> {code:java}
> //unwind BaseDestination
> while (dest instanceof DestinationFilter) {
> dest = ((DestinationFilter) dest).getNext();
> }
>  {code}
>  
>  
> related to feature: 
> https://github.com/apache/activemq/commit/9167a79b79e4c121cfe0a5b82456f52bf3ecc3c7



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AMQ-9448) RedeliveryPolicy causing lock in dispatcher

2024-03-14 Thread Jira


[ 
https://issues.apache.org/jira/browse/AMQ-9448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17826956#comment-17826956
 ] 

Albertas Vyšniauskas commented on AMQ-9448:
---

After commit 
[https://github.com/apache/activemq/commit/60859b0b7fa93b001ca2b0ac2f2385386cb2f47d|http://example.com/],
 persistent scheduler fires scheduled jobs while holding read lock on store. If 
fired job tries to add a new scheduled job then the attempt to acquire a write 
lock on store is made and deadlock occurs.

I tried running existing scheduler tests in 
activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/ and 
they also deadlock, but it happens due to repeatable CRON jobs, because 
schedule() method is also called while holding read lock and requires write 
lock to modify schedule store.

This patch delays job firing and schedule calls, so that they happen once read 
lock is released: [^doNotFireJobsWhileStoreLockIsHeld.patch]

> RedeliveryPolicy causing lock in dispatcher
> ---
>
> Key: AMQ-9448
> URL: https://issues.apache.org/jira/browse/AMQ-9448
> Project: ActiveMQ Classic
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 5.18.3
> Environment: ubuntu-22.04
> corretto-17
>Reporter: Oliver Holzmann
>Priority: Critical
> Attachments: doNotFireJobsWhileStoreLockIsHeld.patch, jstack1.out
>
>
> We are using ActiveMQ with redeliveryPolicy enabled:
> {code:java}
> 
>  redeliveryDelay="1000" />
> {code}
> When a message exceeds maximumRedeliveries the queue is "frozen". This means 
> the consumers can't read any messages and qrowing the queue in web console 
> causes error 504. 
> A thread dump shows a blocked JobScheduler:JMS thread:
> {code:java}
> priority : 5
> thread Id : x7fb985664960
> native Id : xae
> state : BLOCKED
> StackTrace:
> "JobScheduler:JMS" #75 daemon prio=5 os_prio=0 cpu=478.63ms elapsed=757.29s 
> tid=0x7fb985664960 nid=0xae waiting for monitor entry [0x7fb80def1000]
> java.lang.Thread.State: BLOCKED (on object monitor)
> at 
> org.apache.activemq.broker.region.PrefetchSubscription.dispatchPending(PrefetchSubscription.java:647)
> waiting to lock <0x00077ebc62a0> (a java.lang.Object) locked 
> <0x00077ebc6290> (a java.lang.Object)
> at 
> org.apache.activemq.broker.region.PrefetchSubscription.add(PrefetchSubscription.java:159)
> at org.apache.activemq.broker.region.Queue.doActualDispatch(Queue.java:2208)
> at org.apache.activemq.broker.region.Queue.doDispatch(Queue.java:2156)
> at org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:2307)
> at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1728) locked 
> <0x00077ebc5178> (a java.lang.Object)
> at org.apache.activemq.broker.region.Queue.wakeup(Queue.java:1977)
> at org.apache.activemq.broker.region.Queue.messageSent(Queue.java:1971)
> at 
> org.apache.activemq.broker.region.Queue.doPendingCursorAdditions(Queue.java:832)
> at org.apache.activemq.broker.region.Queue.tryOrderedCursorAdd(Queue.java:927)
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:906)
> at org.apache.activemq.broker.region.Queue.send(Queue.java:756)
> at 
> org.apache.activemq.broker.region.DestinationFilter.send(DestinationFilter.java:138)
> at 
> org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:511)
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:477)
> at 
> org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:343)
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:154)
> at 
> org.apache.activemq.broker.scheduler.SchedulerBroker.scheduledJob(SchedulerBroker.java:429)
> at 
> org.apache.activemq.store.kahadb.scheduler.JobSchedulerImpl.fireJob(JobSchedulerImpl.java:823)
> at 
> org.apache.activemq.store.kahadb.scheduler.JobSchedulerImpl.mainLoop(JobSchedulerImpl.java:753)
> at 
> org.apache.activemq.store.kahadb.scheduler.JobSchedulerImpl.run(JobSchedulerImpl.java:699)
> at java.lang.Thread.run(java.base@17.0.10/Thread.java:840)
> Locked ownable synchronizers: <0x00077ebc3ed0> (a 
> java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (AMQ-9448) RedeliveryPolicy causing lock in dispatcher

2024-03-14 Thread Jira


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

Albertas Vyšniauskas updated AMQ-9448:
--
Attachment: doNotFireJobsWhileStoreLockIsHeld.patch

> RedeliveryPolicy causing lock in dispatcher
> ---
>
> Key: AMQ-9448
> URL: https://issues.apache.org/jira/browse/AMQ-9448
> Project: ActiveMQ Classic
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 5.18.3
> Environment: ubuntu-22.04
> corretto-17
>Reporter: Oliver Holzmann
>Priority: Critical
> Attachments: doNotFireJobsWhileStoreLockIsHeld.patch, jstack1.out
>
>
> We are using ActiveMQ with redeliveryPolicy enabled:
> {code:java}
> 
>  redeliveryDelay="1000" />
> {code}
> When a message exceeds maximumRedeliveries the queue is "frozen". This means 
> the consumers can't read any messages and qrowing the queue in web console 
> causes error 504. 
> A thread dump shows a blocked JobScheduler:JMS thread:
> {code:java}
> priority : 5
> thread Id : x7fb985664960
> native Id : xae
> state : BLOCKED
> StackTrace:
> "JobScheduler:JMS" #75 daemon prio=5 os_prio=0 cpu=478.63ms elapsed=757.29s 
> tid=0x7fb985664960 nid=0xae waiting for monitor entry [0x7fb80def1000]
> java.lang.Thread.State: BLOCKED (on object monitor)
> at 
> org.apache.activemq.broker.region.PrefetchSubscription.dispatchPending(PrefetchSubscription.java:647)
> waiting to lock <0x00077ebc62a0> (a java.lang.Object) locked 
> <0x00077ebc6290> (a java.lang.Object)
> at 
> org.apache.activemq.broker.region.PrefetchSubscription.add(PrefetchSubscription.java:159)
> at org.apache.activemq.broker.region.Queue.doActualDispatch(Queue.java:2208)
> at org.apache.activemq.broker.region.Queue.doDispatch(Queue.java:2156)
> at org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:2307)
> at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1728) locked 
> <0x00077ebc5178> (a java.lang.Object)
> at org.apache.activemq.broker.region.Queue.wakeup(Queue.java:1977)
> at org.apache.activemq.broker.region.Queue.messageSent(Queue.java:1971)
> at 
> org.apache.activemq.broker.region.Queue.doPendingCursorAdditions(Queue.java:832)
> at org.apache.activemq.broker.region.Queue.tryOrderedCursorAdd(Queue.java:927)
> at org.apache.activemq.broker.region.Queue.doMessageSend(Queue.java:906)
> at org.apache.activemq.broker.region.Queue.send(Queue.java:756)
> at 
> org.apache.activemq.broker.region.DestinationFilter.send(DestinationFilter.java:138)
> at 
> org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:511)
> at org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:477)
> at 
> org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:343)
> at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:154)
> at 
> org.apache.activemq.broker.scheduler.SchedulerBroker.scheduledJob(SchedulerBroker.java:429)
> at 
> org.apache.activemq.store.kahadb.scheduler.JobSchedulerImpl.fireJob(JobSchedulerImpl.java:823)
> at 
> org.apache.activemq.store.kahadb.scheduler.JobSchedulerImpl.mainLoop(JobSchedulerImpl.java:753)
> at 
> org.apache.activemq.store.kahadb.scheduler.JobSchedulerImpl.run(JobSchedulerImpl.java:699)
> at java.lang.Thread.run(java.base@17.0.10/Thread.java:840)
> Locked ownable synchronizers: <0x00077ebc3ed0> (a 
> java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)