[jira] [Work logged] (ARTEMIS-4553) Support partial word matches for address settings

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


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

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

Author: ASF GitHub Bot
Created on: 19/Mar/24 05:18
Start Date: 19/Mar/24 05:18
Worklog Time Spent: 10m 
  Work Description: brusdev closed pull request #4730: ARTEMIS-4553 Support 
partial word matches for address settings
URL: https://github.com/apache/activemq-artemis/pull/4730




Issue Time Tracking
---

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

> 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: 1h 20m
>  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)


[jira] [Work logged] (ARTEMIS-4553) Support partial word matches for address settings

2024-01-11 Thread ASF GitHub Bot (Jira)


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

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

Author: ASF GitHub Bot
Created on: 12/Jan/24 07:36
Start Date: 12/Jan/24 07:36
Worklog Time Spent: 10m 
  Work Description: brusdev commented on PR #4730:
URL: 
https://github.com/apache/activemq-artemis/pull/4730#issuecomment-1888570367

   @gemmellr @jbertram thanks for your feedback, I converted this PR to draft 
because I need more time to think.




Issue Time Tracking
---

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

> 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: 1h 10m
>  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)


[jira] [Work logged] (ARTEMIS-4553) Support partial word matches for address settings

2024-01-08 Thread ASF GitHub Bot (Jira)


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

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

Author: ASF GitHub Bot
Created on: 08/Jan/24 17:45
Start Date: 08/Jan/24 17:45
Worklog Time Spent: 10m 
  Work Description: jbertram commented on PR #4730:
URL: 
https://github.com/apache/activemq-artemis/pull/4730#issuecomment-1881552171

   > 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*`
   
   What about multiple `*` characters? For example, would `a*c*` match `abcd` 
and `ac` and `abc`?
   
   > This is an important point from the development point of view, are you 
thinking to any specific cases?
   
   I'm not thinking about any specific case. I'm mainly thinking that the 
possible combinations that need to be tested will increase substantially with 
this change, especially if multiple `*` characters are supported.
   
   This change will mean that while `*` by itself still means **a single word** 
when `*` is combined with other characters it will completely change its 
meaning to **zero or more characters**. I think this will ultimately hurt 
usability.




Issue Time Tracking
---

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

> 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: 1h
>  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)


[jira] [Work logged] (ARTEMIS-4553) Support partial word matches for address settings

2024-01-08 Thread ASF GitHub Bot (Jira)


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

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

Author: ASF GitHub Bot
Created on: 08/Jan/24 16:18
Start Date: 08/Jan/24 16:18
Worklog Time Spent: 10m 
  Work Description: gemmellr commented on code in PR #4730:
URL: https://github.com/apache/activemq-artemis/pull/4730#discussion_r1444910607


##
artemis-server/src/main/java/org/apache/activemq/artemis/core/settings/impl/HierarchicalObjectRepository.java:
##
@@ -477,50 +476,91 @@ default String modify(String input) {
 
/**
 * Compares to matches to see which one is more specific.
+* A match on the any-words delimiter (#) is considered less specific than 
a match without it, i.e. abc.def.# is less specific than abc.def and abc.def 
and abc.d*

Review Comment:
   Either repetition or some other issue: "is less specific than abc.def and 
abc.def"



##
docs/user-manual/wildcard-syntax.adoc:
##
@@ -31,9 +31,9 @@ But `news.europe.#` would _not_ match:
 * `news.usa.sport`
 * `entertainment`
 
-== Matching a Single Word
+== Matching a Single or Partial Word
 
-The character `*` means "match a single word".
+The character `*` means "match a single or partial word".

Review Comment:
   Its not clear whether the "single-word" configuration item (detailed lower 
down this documentation) which controls single word matches would also change 
this partial-word matching.



##
docs/user-manual/wildcard-syntax.adoc:
##
@@ -44,7 +44,16 @@ But `news.*` would _not_ match:
 
 * `news.europe.sport`
 * `news.usa.sport`
-* `news.europe.politics.regional`
+
+The wildcard `news.eu*` would match:
+
+* `news.europe`
+
+But `news.*` would _not_ match:
+
+* `news.europe.sport`
+* `news.usa`
+* `news.usa.sport`

Review Comment:
   Regardless of whether we should or shouldnt do partial matching (I've yet to 
think on that)...this bit of documentation seems incorrect. Guessing the noted 
address/other wildcard wasnt updated as intended.





Issue Time Tracking
---

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

> 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: 50m
>  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)


[jira] [Work logged] (ARTEMIS-4553) Support partial word matches for address settings

2024-01-08 Thread ASF GitHub Bot (Jira)


 [ 
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)


[jira] [Work logged] (ARTEMIS-4553) Support partial word matches for address settings

2024-01-04 Thread ASF GitHub Bot (Jira)


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

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

Author: ASF GitHub Bot
Created on: 05/Jan/24 03:31
Start Date: 05/Jan/24 03:31
Worklog Time Spent: 10m 
  Work Description: jbertram commented on PR #4730:
URL: 
https://github.com/apache/activemq-artemis/pull/4730#issuecomment-1878075475

   Thinking about this more...I'm more against it than before. I believe that 
opening this door is going to be bad for usability - both for users and 
developers.
   
   Right now, `*` means **a single word**. If we start accepting "partial 
words" then what does `*` become? Is it any single _character_? Is it 0 or more 
of any character (e.g. as it might be in a regular expression)? Also, how to 
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?
   
   Furthermore, what do we do with `#`? Should we support partial matches with 
it? If so, what does that mean? If not, why not?
   
   The potential configurations start to expand very quickly and will no doubt 
add complication to the code, the test-suite, and the documentation.
   
   The currently documented functionality is simple & powerful and we should 
keep it that way.
   
   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.




Issue Time Tracking
---

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

> 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: 0.5h
>  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)


[jira] [Work logged] (ARTEMIS-4553) Support partial word matches for address settings

2024-01-04 Thread ASF GitHub Bot (Jira)


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

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

Author: ASF GitHub Bot
Created on: 04/Jan/24 18:46
Start Date: 04/Jan/24 18:46
Worklog Time Spent: 10m 
  Work Description: jbertram commented on PR #4730:
URL: 
https://github.com/apache/activemq-artemis/pull/4730#issuecomment-1877592439

   At this point I think we should stick with the currently documented 
behavior, i.e. wildcards match **whole words**. 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. The fact that partial matches 
work now (for whatever reason) is not a sufficient reason to change the 
documented functionality. I chalk this up to an implementation detail and not 
something that users should rely upon as it may change in the future. It is an 
undocumented, incidental behavior.
   
   I'm curious about others' thoughts.




Issue Time Tracking
---

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

> 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: 20m
>  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)


[jira] [Work logged] (ARTEMIS-4553) Support partial word matches for address settings

2024-01-04 Thread ASF GitHub Bot (Jira)


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

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

Author: ASF GitHub Bot
Created on: 04/Jan/24 16:31
Start Date: 04/Jan/24 16:31
Worklog Time Spent: 10m 
  Work Description: brusdev opened a new pull request, #4730:
URL: https://github.com/apache/activemq-artemis/pull/4730

   (no comment)




Issue Time Tracking
---

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

> 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: 10m
>  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)