You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Christopher L. Shannon (Jira)" <ji...@apache.org> on 2025/03/18 19:58:00 UTC
[jira] [Resolved] (AMQ-9685) Empty virtualName from broken queue name
[ https://issues.apache.org/jira/browse/AMQ-9685?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christopher L. Shannon resolved AMQ-9685.
-----------------------------------------
Resolution: Fixed
> Empty virtualName from broken queue name
> ----------------------------------------
>
> Key: AMQ-9685
> URL: https://issues.apache.org/jira/browse/AMQ-9685
> Project: ActiveMQ Classic
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.19.0, 6.1.6
> Reporter: Benjamin Graf
> Assignee: Christopher L. Shannon
> Priority: Major
> Labels: error, virtualtopic
> Fix For: 6.2.0, 5.19.1, 6.1.7
>
> Time Spent: 1h 50m
> Remaining Estimate: 0h
>
> Accidentally "invalid" queue name can lead to broken broker after throwing "{{Invalid destination name: a non-empty name is required}}"
> If the destination name used is just the prefix of the virtual topic it will give an error but end up partially initializing the destination in the store and causing errors, including on restart.
> The best fix would be to prevent creation but this is tricky because the store and destination need to be initialized before processing the virtual topic interceptor and cleaning up later is risky and could lead to data loss if we try and generally roll back any interceptor being applied and assume any exception means we should delete the destination and store. The simplest fix here is to just only match the virtual topic if the topic name is actually provided and not just the prefix.
> The only downside to this change would be that is if someone now made a typo and forgot the topic name and just had a prefix we end up with a destination created that matches the VT prefix name which isn't great but is easily fixable by cleaning up the destination vs having a bunch of errors. If really necessary, creation could probably also be prevented for destinations that are missing the virtual name for the VT if it is really necessary with ACLs or some sort of custom ACL logic.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@activemq.apache.org
For additional commands, e-mail: issues-help@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact