[
https://issues.apache.org/jira/browse/ARIES-2243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18138877#comment-18138877
]
ASF subversion and git services commented on ARIES-2243:
--------------------------------------------------------
Commit 82b181b8d93fea82e230f88574f7279bc3d84171 in aries's branch
refs/heads/ci-ARIES-2243-avoid-manifest-localization from OLSander
[ https://gitbox.apache.org/repos/asf?p=aries.git;h=82b181b8d ]
ARIES-2243: Avoid manifest localization in SPI Fly
Read raw manifest headers for consumer/provider discovery and bundle class
paths, avoiding localization work for technical metadata. Add host and fragment
consumer-discovery regression coverage and update provider/weaving mock
expectations.
> Avoid manifest localization during consumer discovery
> -----------------------------------------------------
>
> Key: ARIES-2243
> URL: https://issues.apache.org/jira/browse/ARIES-2243
> Project: Aries
> Issue Type: Bug
> Components: SPI Fly
> Affects Versions: spifly-1.3.7, spifly-1.3.8
> Environment: Eclipse/Equinox-based RCP application
> Windows x86_64
> Eclipse 2026-06 (4.40)
> Eclipse Temurin JDK 25.0.3
> Apache Aries SPI Fly Dynamic Weaving Bundle 1.3.7
> 612 installed bundles
> Reporter: Sander van den Berg
> Priority: Major
>
> While profiling startup of an Eclipse/Equinox application using SPI Fly
> 1.3.7, I found that consumer discovery spends significant time retrieving
> localized manifest headers.
> In {{{}BaseActivator.getAllHeaders{}}}, headers are retrieved using:
> {code:java}
> String header = bf.getHeaders().get(headerName);
> {code}
> In Equinox, this requests localized headers and can trigger loading of
> localization resources, even though the caller only needs technical
> declarations such as {{SPI-Consumer}} and {{{}Require-Capability{}}}.
> Using raw headers instead:
> {code:java}
> String header = bf.getHeaders("").get(headerName);
> {code}
> reduced header-collection time in two alternating comparisons:
> ||Header access||Comparison 1||Comparison 2||
> |Localized headers|577 ms|776 ms|
> |Raw headers|222 ms|332 ms|
> The application contains 612 bundles. Header parsing itself took
> approximately 11–19 ms. These are instrumented method timings; a repeatable
> improvement in overall application startup time has not been established.
> None of the relevant header values in the tested bundle set use localization.
> Startup and a basic editor smoke test passed with the substitution.
> The measurements were taken on 1.3.7. I also checked the released 1.3.8
> sources, which still contain the same call.
> Is localization of these declarations intentionally supported, or would raw
> header access be appropriate here? I would be happy to contribute a patch and
> regression test.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)