[jira] [Work logged] (ARTEMIS-4510) Add auto-create-destination logic to diverts
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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.
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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.
[ 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
[ 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.
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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.
[ 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
[ 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.
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
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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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)