[
https://issues.apache.org/jira/browse/GEODE-9582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17417256#comment-17417256
]
ASF subversion and git services commented on GEODE-9582:
--------------------------------------------------------
Commit c68a770431a042df899a28ae3b519f27edca3c21 in geode's branch
refs/heads/develop from Darrel Schneider
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=c68a770 ]
GEODE-9582: make radish pattern match compatible with redis
GlobPattern no longer uses jdk regex but instead has a java
implementation based on the native redis glob pattern matcher.
@jdeppe-pivotal ran some basic JMH tests against a simple sometext* pattern
(which is probably very common) and the new code appears to be slightly faster
than the old jdk code.
GlobPattern now also has a unit test.
> redis glob pattern should never throw PatternSyntaxException
> ------------------------------------------------------------
>
> Key: GEODE-9582
> URL: https://issues.apache.org/jira/browse/GEODE-9582
> Project: Geode
> Issue Type: Bug
> Components: redis
> Reporter: Darrel Schneider
> Assignee: Darrel Schneider
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.15.0
>
>
> The GlobPattern class converts a user's glob pattern into a pattern that is
> compiled by the jdk's Pattern.compile method. Some character sequences will
> cause the jdk to throw PatternSynaxException. For example giving it the bytes
> {{stringToBytes("\C")}} causes an exception.
> Native redis with this same pattern treats it like just "C".
> I think we need to look at every case in which the jdk compile throws
> PatternSynaxException and make sure GlobPattern will not submit a pattern to
> Pattern.compile that will cause it to throw.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)