[
https://issues.apache.org/jira/browse/SLING-13260?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18095686#comment-18095686
]
Julian Reschke edited comment on SLING-13260 at 7/12/26 8:28 AM:
-----------------------------------------------------------------
bq. I think what happened here is that version 2.0.4 was already in the process
of being released since June 5th.
Last Friday, no?
https://lists.apache.org/thread/dqxjlqw0b1srgnzjgs5nc4t4q29bhjhb
Anyway, what happened with that...:
bq. I will promote the artifacts to the central Maven repository.
That did not happen, as far as I can tell.
bq. Perhaps the release instructions should be amended to do the Jira "create a
new version X.Y.Z+2" step when the vote is started so fixes after that date are
not accidentally assigned to the wrong fix version?
Yes.
was (Author: reschke):
bq, Julian Reschke I think what happened here is that version 2.0.4 was already
in the process of being released since June 5th.
Last Friday, no?
https://lists.apache.org/thread/dqxjlqw0b1srgnzjgs5nc4t4q29bhjhb
Anyway, what happened with that...:
bq. I will promote the artifacts to the central Maven repository.
That did not happen, as far as I can tell.
bq. Perhaps the release instructions should be amended to do the Jira "create a
new version X.Y.Z+2" step when the vote is started so fixes after that date are
not accidentally assigned to the wrong fix version?
Yes.
> Using a String instead of StandardCharset to instantiante strings requires a
> lock
> ----------------------------------------------------------------------------------
>
> Key: SLING-13260
> URL: https://issues.apache.org/jira/browse/SLING-13260
> Project: Sling
> Issue Type: Improvement
> Components: ResourceResolver
> Reporter: Patrique Legault
> Assignee: Julian Reschke
> Priority: Minor
> Fix For: Resource Resolver 2.0.4
>
>
> Under heavy load we see many threads locking with the following pattern [1].
> This happens because the
> [URI|https://github.com/apache/sling-org-apache-sling-resourceresolver/blob/master/src/main/java/org/apache/sling/resourceresolver/impl/helper/URI.java#L4022]
> class passes a String for the Charset, this results in the String class
> calling
> java.lang.String.[lookup|https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/lang/String.java#L1662-L1665]
> which locks in order to perform the lookup.
> A simple enhancement is to pass the Charset as such to prevent the
> [lookup|https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/lang/String.java#L1690-L1692].
>
> [1]
> {code:java}
> java.lang.Thread.State: BLOCKED (on object monitor)
> at
> sun.nio.cs.StandardCharsets.charsetForName([email protected]/StandardCharsets.java:1304)
> - waiting to lock <0x000000041005a680> (a sun.nio.cs.StandardCharsets)
> at java.nio.charset.Charset.lookup2([email protected]/Charset.java:486)
> at java.nio.charset.Charset.lookup([email protected]/Charset.java:475)
> at java.nio.charset.Charset.forName([email protected]/Charset.java:539)
> at java.lang.String.lookupCharset([email protected]/String.java:848)
> at java.lang.String.<init>([email protected]/String.java:1390)
> at
> org.apache.sling.resourceresolver.impl.helper.URI.getAsciiString(URI.java:4022)
> at org.apache.sling.resourceresolver.impl.helper.URI.encode(URI.java:1776)
> at org.apache.sling.resourceresolver.impl.helper.URI.setPath(URI.java:2938)
> at
> org.apache.sling.resourceresolver.impl.helper.URI.parseUriReference(URI.java:2118)
>
> ....{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)