[
https://issues.apache.org/jira/browse/ARTEMIS-4553?focusedWorklogId=898366&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-898366
]
ASF GitHub Bot logged work on ARTEMIS-4553:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 08/Jan/24 08:02
Start Date: 08/Jan/24 08:02
Worklog Time Spent: 10m
Work Description: brusdev commented on PR #4730:
URL:
https://github.com/apache/activemq-artemis/pull/4730#issuecomment-1880529377
> The design of the matching is to be hierarchical which is relatively easy
to understand and configure with words separated by a delimiter and wildcards
that represent one (i.e. * by default) or more (i.e. # by default) words.
Partial words also would be hierarchical, I mean `*` would never match a
delimiter.
> Right now, `*` means **a single word**. If we start accepting "partial
words" then what does `*` become? Is it a single word when used alone and then
something else when used with a partial word? If the latter, is it any single
_character_? Is it 0 or more of any character (e.g. as it might be in a regular
expression)?
My tentative was to implement the behavior similar to the `*` in the shells:
matching zero or more characters but **not the delimiter** to respect the
hierarchy.
>Also, how do partial words compare to each other in a hierarchy where
matches are ordered from general to specific? Would `ab*` be more specific than
`a*` when matching `abc`? What about `a*c`? Is that even supported? Where do we
draw the line?
Good catch, I hadn't thought to this use case but if that would be supported
then `a*c` would be more specific of `a*`
> Furthermore, what do we do with `#`? Should we support partial matches
with it? If so, what does that mean? If not, why not?
Theoretically, `*` should be enough for any partial match use cases because
`#` matches zero or more words.
> The potential configurations start to expand very quickly and will no
doubt add complication to the code, the test-suite, and the documentation.
This is an important point from the development point of view, are you
thinking to any specific cases?
> If there's a bug here it's that undocumented behavior is allowed and
somewhat functional leading folks to assume it's intentional. I'm not saying we
should fix that necessarily, but we should at least consider it so we don't
keep letting folks get confused.
My tentative was to clarify this gray area without causing issues to users
that are already using this **officially unsupported** behavior.
Issue Time Tracking
-------------------
Worklog Id: (was: 898366)
Time Spent: 40m (was: 0.5h)
> Support partial word matches for address settings
> -------------------------------------------------
>
> Key: ARTEMIS-4553
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4553
> Project: ActiveMQ Artemis
> Issue Type: Improvement
> Reporter: Domenico Francesco Bruscino
> Assignee: Domenico Francesco Bruscino
> Priority: Major
> Time Spent: 40m
> Remaining Estimate: 0h
>
> Currently, though the documentation specifies that the "*" wildcard matcher
> is only intended to match a complete word (delimited string using the
> configured delimiter), it appears that it also works for partial word
> matches, like "
> Could this behavior be supported and documented going forward, as reverting
> this behavior would break existing configurations?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)