You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Marcel Reutegger (JIRA)" <ji...@apache.org> on 2014/07/10 16:00:26 UTC

[jira] [Commented] (OAK-1964) Performance degradation due to SessionDelegate.WarningLock

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

Marcel Reutegger commented on OAK-1964:
---------------------------------------

We could make the call conditional on some log level. E.g. only trace the stack if debug log is enabled.

> Performance degradation due to SessionDelegate.WarningLock
> ----------------------------------------------------------
>
>                 Key: OAK-1964
>                 URL: https://issues.apache.org/jira/browse/OAK-1964
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: jcr
>    Affects Versions: 1.0.2, 1.1
>            Reporter: Thomas Mueller
>
> In OAK-1703, we have added a new class WarningLock that internally uses an Exception to remember the stack trace. This seems to be used for every SessionDelegate object. With Java 6 and older, this is very problematic because it will cause "java.lang.Throwable.fillInStackTrace(Native Method)" to be called for almost every call to any of the Oak JCR methods, and "fillInStackTrace(Native Method)" is known to be be very slow. Java 7, I believe, will at some point give up and not fill in the stack trace any more. But with Java 6 and older, this is a big problem.



--
This message was sent by Atlassian JIRA
(v6.2#6252)