jokerzsd opened a new issue, #4520: URL: https://github.com/apache/rocketmq-dashboard/issues/4520
### Bug On master 987b748e, NamesrvAddrParser.normalize lowercases the entire bracketed IPv6 literal, including its named zone identifier. For example, `[FE80::1%ProdNIC]:9876` becomes `[fe80::1%prodnic]:9876`. The hex address is case-insensitive, but the zone name is an interface identifier, not a DNS name. Java requires the exact string returned by NetworkInterface.getName() for a named IPv6 scope: https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/net/Inet6Address.html#scoped . Rewriting it can make the persisted endpoint refer to a different or nonexistent interface. Both create and update in NameserverRegistryService call this normalizer before saving the endpoint. ### Reproduction Call NamesrvAddrParser.normalize("[FE80::1%ProdNIC]:9876"). Expected `[fe80::1%ProdNIC]:9876`; current result is `[fe80::1%prodnic]:9876`. This is a deterministic normalization problem; reproducing the wrong string does not require an interface with that name. ### Proposed scope Lowercase the IPv6 address portion only; preserve everything from `%` onward. Keep numeric scope ids, unscoped IPv6, DNS normalization, separator normalization and existing validation behavior unchanged. Add parser and registry regression coverage. ### Duplicate search Checked all PR states for NamesrvAddrParser, IPv6 scope/zone, and NameServer normalization. Inspected #2745, #2869, #4154 and the DNS normalization work #2465/#2469. Those address literal validity, DNS casing or frontend preflight, not preserving named IPv6 scope casing. AI-assisted source analysis. Runtime checks for the parser and registry are being prepared; this report does not claim a live IPv6 broker test. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
