You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Christoph Kiehl (JIRA)" <ji...@apache.org> on 2007/07/05 12:30:05 UTC

[jira] Created: (JCR-1006) StackOverflowError if too many versions of a node are created

StackOverflowError if too many versions of a node are created
-------------------------------------------------------------

                 Key: JCR-1006
                 URL: https://issues.apache.org/jira/browse/JCR-1006
             Project: Jackrabbit
          Issue Type: Bug
          Components: versioning
    Affects Versions: 1.3
            Reporter: Christoph Kiehl


In org.apache.jackrabbit.core.version.VersionIteratorImpl addVersion() is called recursively which can cause StackOverflowErrors if there are too many versions.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (JCR-1006) StackOverflowError if too many versions of a node are created

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting reassigned JCR-1006:
----------------------------------

    Assignee: Jukka Zitting

> StackOverflowError if too many versions of a node are created
> -------------------------------------------------------------
>
>                 Key: JCR-1006
>                 URL: https://issues.apache.org/jira/browse/JCR-1006
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: versioning
>    Affects Versions: 1.3
>            Reporter: Christoph Kiehl
>            Assignee: Jukka Zitting
>         Attachments: VersionIteratorImpl.patch
>
>
> In org.apache.jackrabbit.core.version.VersionIteratorImpl addVersion() is called recursively which can cause StackOverflowErrors if there are too many versions.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JCR-1006) StackOverflowError if too many versions of a node are created

Posted by "Christoph Kiehl (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christoph Kiehl updated JCR-1006:
---------------------------------

    Attachment: VersionIteratorImpl.patch

This patch collects all version ids iteratively instead of recursively to avoid StackOverflowErrors.

> StackOverflowError if too many versions of a node are created
> -------------------------------------------------------------
>
>                 Key: JCR-1006
>                 URL: https://issues.apache.org/jira/browse/JCR-1006
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: versioning
>    Affects Versions: 1.3
>            Reporter: Christoph Kiehl
>         Attachments: VersionIteratorImpl.patch
>
>
> In org.apache.jackrabbit.core.version.VersionIteratorImpl addVersion() is called recursively which can cause StackOverflowErrors if there are too many versions.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (JCR-1006) StackOverflowError if too many versions of a node are created

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting resolved JCR-1006.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 1.3.1

Patch committed in revision 558167 and merged to the 1.3 branch in revision 558173. Thanks!

> StackOverflowError if too many versions of a node are created
> -------------------------------------------------------------
>
>                 Key: JCR-1006
>                 URL: https://issues.apache.org/jira/browse/JCR-1006
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: versioning
>    Affects Versions: 1.3
>            Reporter: Christoph Kiehl
>            Assignee: Jukka Zitting
>             Fix For: 1.3.1
>
>         Attachments: VersionIteratorImpl.patch
>
>
> In org.apache.jackrabbit.core.version.VersionIteratorImpl addVersion() is called recursively which can cause StackOverflowErrors if there are too many versions.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-1006) StackOverflowError if too many versions of a node are created

Posted by "Christoph Kiehl (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12511123 ] 

Christoph Kiehl commented on JCR-1006:
--------------------------------------

We actually ran into this issue on one of our production system where we have to keep all published versions of a document. The specific document had more than 1000 versions, and since our stack size is a bit smaller than the default this led to a StackOverflowError which caused the whole Jackrabbit engine to hang :(

> StackOverflowError if too many versions of a node are created
> -------------------------------------------------------------
>
>                 Key: JCR-1006
>                 URL: https://issues.apache.org/jira/browse/JCR-1006
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: versioning
>    Affects Versions: 1.3
>            Reporter: Christoph Kiehl
>         Attachments: VersionIteratorImpl.patch
>
>
> In org.apache.jackrabbit.core.version.VersionIteratorImpl addVersion() is called recursively which can cause StackOverflowErrors if there are too many versions.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-1006) StackOverflowError if too many versions of a node are created

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12511112 ] 

Jukka Zitting commented on JCR-1006:
------------------------------------

Do we have actual use cases where a single version history consists of thousands of versions? Sounds a bit academic to me, but I guess it's a reasonable corner case and the patch seems good.

Tail recursion... :-)

> StackOverflowError if too many versions of a node are created
> -------------------------------------------------------------
>
>                 Key: JCR-1006
>                 URL: https://issues.apache.org/jira/browse/JCR-1006
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: versioning
>    Affects Versions: 1.3
>            Reporter: Christoph Kiehl
>         Attachments: VersionIteratorImpl.patch
>
>
> In org.apache.jackrabbit.core.version.VersionIteratorImpl addVersion() is called recursively which can cause StackOverflowErrors if there are too many versions.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.