[ 
https://issues.apache.org/jira/browse/SLING-13260?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18095683#comment-18095683
 ] 

Julian Reschke edited comment on SLING-13260 at 7/12/26 8:16 AM:
-----------------------------------------------------------------

FWFW: tickets usually get closed as the last step of the release process -> 
https://sling.apache.org/documentation/development/release-management.html#update-jira-1

bq. version 2.0.4 was already in the process of being released 

Aha: https://lists.apache.org/thread/dqxjlqw0b1srgnzjgs5nc4t4q29bhjhb - the 
release was never finished. What's clear is that we'll have to either finish 
it, or roll back and release with the two additional changes.

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, that's what we do in Jackrabbit.


was (Author: reschke):
bq. version 2.0.4 was already in the process of being released 

So that was started? (by whom?) But it wasn't finished, it did not happen after 
all.

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, that's what we do in Jackrabbit.

> 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)

Reply via email to