You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Christian Stocker (Created) (JIRA)" <ji...@apache.org> on 2012/02/27 07:40:49 UTC
[jira] [Created] (JCR-3244) CPU Load issue with 2.3.6 and 2.4.0
CPU Load issue with 2.3.6 and 2.4.0
-----------------------------------
Key: JCR-3244
URL: https://issues.apache.org/jira/browse/JCR-3244
Project: Jackrabbit Content Repository
Issue Type: Bug
Components: jackrabbit-jcr-server
Reporter: Christian Stocker
We discovered an issue with adding and removing references to a Weak Reference Multi-Value property
within the same session, which leads to running 100% CPU .
In PHPCR/Jackalope, I do the following:
{noformat}
// remove the weakreference property if one was there
$m->setProperty("refs",null);
$session->save();
//add some references
$m->setProperty("refs",$refs,10);
$session->save();
//remove one and set the others again
array_pop($refs);
$m->setProperty("refs",$refs,10);
$session->save();
{noformat}
If I do the last setProperty() with a new session, then it works.
On the HTTP level it looks like this:
https://gist.github.com/1869626
The last REPORT (where we try to resolve the UUID to a path), it hangs.
According to Jukka, the problem is the following:
{quote}
Yep. From the thread dump posted by Lukas it looks like the culprit
here is the appliesToResource() lock computation done by the
TxLockManagerImpl class in jackrabbit-webdav. The method makes a wrong
assumption about the return value of the Text.getRelativeParent()
utility method, and ends up in an infinite loop.
{quote}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (JCR-3244) CPU Load issue with 2.3.6 and 2.4.0
Posted by "Christian Stocker (Updated) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-3244?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christian Stocker updated JCR-3244:
-----------------------------------
Description:
We discovered an issue with adding and removing references to a Weak Reference Multi-Value property
within the same session, which leads to running 100% CPU .
In PHPCR/Jackalope, I do the following:
***
// remove the weakreference property if one was there
$m->setProperty("refs",null);
$session->save();
//add some references
$m->setProperty("refs",$refs,10);
$session->save();
//remove one and set the others again
array_pop($refs);
$m->setProperty("refs",$refs,10);
$session->save();
***
If I do the last setProperty() with a new session, then it works.
On the HTTP level it looks like this:
https://gist.github.com/1869626
The last REPORT (where we try to resolve the UUID to a path), it hangs.
According to Jukka, the problem is the following:
***
Yep. From the thread dump posted by Lukas it looks like the culprit
here is the appliesToResource() lock computation done by the
TxLockManagerImpl class in jackrabbit-webdav. The method makes a wrong
assumption about the return value of the Text.getRelativeParent()
utility method, and ends up in an infinite loop.
***
was:
We discovered an issue with adding and removing references to a Weak Reference Multi-Value property
within the same session, which leads to running 100% CPU .
In PHPCR/Jackalope, I do the following:
{noformat}
// remove the weakreference property if one was there
$m->setProperty("refs",null);
$session->save();
//add some references
$m->setProperty("refs",$refs,10);
$session->save();
//remove one and set the others again
array_pop($refs);
$m->setProperty("refs",$refs,10);
$session->save();
{noformat}
If I do the last setProperty() with a new session, then it works.
On the HTTP level it looks like this:
https://gist.github.com/1869626
The last REPORT (where we try to resolve the UUID to a path), it hangs.
According to Jukka, the problem is the following:
{quote}
Yep. From the thread dump posted by Lukas it looks like the culprit
here is the appliesToResource() lock computation done by the
TxLockManagerImpl class in jackrabbit-webdav. The method makes a wrong
assumption about the return value of the Text.getRelativeParent()
utility method, and ends up in an infinite loop.
{quote}
> CPU Load issue with 2.3.6 and 2.4.0
> -----------------------------------
>
> Key: JCR-3244
> URL: https://issues.apache.org/jira/browse/JCR-3244
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-jcr-server
> Reporter: Christian Stocker
>
> We discovered an issue with adding and removing references to a Weak Reference Multi-Value property
> within the same session, which leads to running 100% CPU .
> In PHPCR/Jackalope, I do the following:
> ***
> // remove the weakreference property if one was there
> $m->setProperty("refs",null);
> $session->save();
> //add some references
> $m->setProperty("refs",$refs,10);
> $session->save();
> //remove one and set the others again
> array_pop($refs);
> $m->setProperty("refs",$refs,10);
> $session->save();
> ***
> If I do the last setProperty() with a new session, then it works.
> On the HTTP level it looks like this:
> https://gist.github.com/1869626
> The last REPORT (where we try to resolve the UUID to a path), it hangs.
> According to Jukka, the problem is the following:
> ***
> Yep. From the thread dump posted by Lukas it looks like the culprit
> here is the appliesToResource() lock computation done by the
> TxLockManagerImpl class in jackrabbit-webdav. The method makes a wrong
> assumption about the return value of the Text.getRelativeParent()
> utility method, and ends up in an infinite loop.
> ***
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (JCR-3244) CPU Load issue with 2.3.6 and 2.4.0
Posted by "Christian Stocker (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-3244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13217069#comment-13217069 ]
Christian Stocker commented on JCR-3244:
----------------------------------------
And here's the dump by Lukas:
http://pastie.org/private/jyorgp7qyhchckiyfzja
> CPU Load issue with 2.3.6 and 2.4.0
> -----------------------------------
>
> Key: JCR-3244
> URL: https://issues.apache.org/jira/browse/JCR-3244
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-jcr-server
> Reporter: Christian Stocker
>
> We discovered an issue with adding and removing references to a Weak Reference Multi-Value property
> within the same session, which leads to running 100% CPU .
> In PHPCR/Jackalope, I do the following:
> ***
> // remove the weakreference property if one was there
> $m->setProperty("refs",null);
> $session->save();
> //add some references
> $m->setProperty("refs",$refs,10);
> $session->save();
> //remove one and set the others again
> array_pop($refs);
> $m->setProperty("refs",$refs,10);
> $session->save();
> ***
> If I do the last setProperty() with a new session, then it works.
> On the HTTP level it looks like this:
> https://gist.github.com/1869626
> The last REPORT (where we try to resolve the UUID to a path), it hangs.
> According to Jukka, the problem is the following:
> ***
> Yep. From the thread dump posted by Lukas it looks like the culprit
> here is the appliesToResource() lock computation done by the
> TxLockManagerImpl class in jackrabbit-webdav. The method makes a wrong
> assumption about the return value of the Text.getRelativeParent()
> utility method, and ends up in an infinite loop.
> ***
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira