On Mon, 10 Feb 2025 08:47:36 GMT, Xiaolong Peng <[email protected]> wrote:
> java.net.URI.scanIPv4Address is a private method, it is only called by
> java.net.URI.takeIPv4Address and java.net.URI.parseIPv4Address, the
> URISyntaxException("Malformed IPv4 address") is not necessary, returning -1
> should be good. In one of our systems, we noticed the exception consumes
> ~0.3% CPU.
>
> Additional test:
> - [x] make test TEST=jdk/java/net
Changes requested by dfuchs (Reviewer).
src/java.base/share/classes/java/net/URI.java line 3469:
> 3467: return q;
> 3468: }
> 3469: fail("Malformed IPv4 address", q);
I am a bit uncomfortable with this change. I notice that the caller happens to
catch the exception and return -1 only in the case where strict == false; In
order to minimize the behavior changes suggest to do instead:
if (strict) fail("Malformed IPv4 address", q);
-------------
PR Review: https://git.openjdk.org/jdk/pull/23538#pullrequestreview-2605379524
PR Review Comment: https://git.openjdk.org/jdk/pull/23538#discussion_r1948828533