You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Michael Dürig (JIRA)" <ji...@apache.org> on 2010/01/11 16:26:54 UTC
[jira] Created: (JCR-2461) Item retrival inefficient after refresh
Item retrival inefficient after refresh
---------------------------------------
Key: JCR-2461
URL: https://issues.apache.org/jira/browse/JCR-2461
Project: Jackrabbit Content Repository
Issue Type: Improvement
Components: jackrabbit-jcr2spi
Affects Versions: 1.5.7
Reporter: Michael Dürig
Priority: Minor
When RepositoryService#getItemInfos() returns a sufficiently large batch for a path, then the second invocation of getItem() below is significantly slower than the first.
String path = ...
Item i = session.getItem(path);
i.refresh(false); // same for refresh(true)
session.getItem(path);
In my test setup RepositoryService#getItemInfos() returns 3946 elements. The first invocation takes approx. 800ms, the second 3000ms.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (JCR-2461) Item retrieval inefficient after refresh
Posted by "Stefan Guggisberg (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-2461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stefan Guggisberg updated JCR-2461:
-----------------------------------
Summary: Item retrieval inefficient after refresh (was: Item retrival inefficient after refresh)
fixed typo in summary
> Item retrieval inefficient after refresh
> ----------------------------------------
>
> Key: JCR-2461
> URL: https://issues.apache.org/jira/browse/JCR-2461
> Project: Jackrabbit Content Repository
> Issue Type: Improvement
> Components: jackrabbit-jcr2spi
> Affects Versions: 1.5.7
> Reporter: Michael Dürig
> Priority: Minor
> Attachments: JCR-2461.patch
>
>
> When RepositoryService#getItemInfos() returns a sufficiently large batch for a path, then the second invocation of getItem() below is significantly slower than the first.
> String path = ...
> Item i = session.getItem(path);
> i.refresh(false); // same for refresh(true)
> session.getItem(path);
> In my test setup RepositoryService#getItemInfos() returns 3946 elements. The first invocation takes approx. 800ms, the second 3000ms.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (JCR-2461) Item retrival inefficient after refresh
Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-2461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Dürig updated JCR-2461:
-------------------------------
Attachment: JCR-2461.patch
This patch disables diffing of property states. Items contained in a batch from the server are set to Status#MODIFIED without establishing whether they differ form their cached values.
I was able to successfully run all tests with the patch applied. However, I'm not sure whether this patch has further, more subtle consequences which I'm not aware of.
> Item retrival inefficient after refresh
> ---------------------------------------
>
> Key: JCR-2461
> URL: https://issues.apache.org/jira/browse/JCR-2461
> Project: Jackrabbit Content Repository
> Issue Type: Improvement
> Components: jackrabbit-jcr2spi
> Affects Versions: 1.5.7
> Reporter: Michael Dürig
> Priority: Minor
> Attachments: JCR-2461.patch
>
>
> When RepositoryService#getItemInfos() returns a sufficiently large batch for a path, then the second invocation of getItem() below is significantly slower than the first.
> String path = ...
> Item i = session.getItem(path);
> i.refresh(false); // same for refresh(true)
> session.getItem(path);
> In my test setup RepositoryService#getItemInfos() returns 3946 elements. The first invocation takes approx. 800ms, the second 3000ms.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (JCR-2461) Item retrival inefficient after
refresh
Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-2461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12798690#action_12798690 ]
Michael Dürig commented on JCR-2461:
------------------------------------
The slow down is caused by merging changes of item states from the server with the local ones on the client. The main contribution seems to come from diffing the property states.
> Item retrival inefficient after refresh
> ---------------------------------------
>
> Key: JCR-2461
> URL: https://issues.apache.org/jira/browse/JCR-2461
> Project: Jackrabbit Content Repository
> Issue Type: Improvement
> Components: jackrabbit-jcr2spi
> Affects Versions: 1.5.7
> Reporter: Michael Dürig
> Priority: Minor
>
> When RepositoryService#getItemInfos() returns a sufficiently large batch for a path, then the second invocation of getItem() below is significantly slower than the first.
> String path = ...
> Item i = session.getItem(path);
> i.refresh(false); // same for refresh(true)
> session.getItem(path);
> In my test setup RepositoryService#getItemInfos() returns 3946 elements. The first invocation takes approx. 800ms, the second 3000ms.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (JCR-2461) Item retrieval inefficient after
refresh
Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-2461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Dürig resolved JCR-2461.
--------------------------------
Resolution: Fixed
Fix Version/s: 2.1.0
Assignee: Michael Dürig
The fix to JCR-2498 should also fix this issue
> Item retrieval inefficient after refresh
> ----------------------------------------
>
> Key: JCR-2461
> URL: https://issues.apache.org/jira/browse/JCR-2461
> Project: Jackrabbit Content Repository
> Issue Type: Improvement
> Components: jackrabbit-jcr2spi
> Affects Versions: 1.5.7
> Reporter: Michael Dürig
> Assignee: Michael Dürig
> Priority: Minor
> Fix For: 2.1.0
>
> Attachments: JCR-2461.patch
>
>
> When RepositoryService#getItemInfos() returns a sufficiently large batch for a path, then the second invocation of getItem() below is significantly slower than the first.
> String path = ...
> Item i = session.getItem(path);
> i.refresh(false); // same for refresh(true)
> session.getItem(path);
> In my test setup RepositoryService#getItemInfos() returns 3946 elements. The first invocation takes approx. 800ms, the second 3000ms.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (JCR-2461) Item retrieval inefficient after
refresh
Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/JCR-2461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12829600#action_12829600 ]
Michael Dürig commented on JCR-2461:
------------------------------------
Forget the patch. It doesn't work -> test failures
> Item retrieval inefficient after refresh
> ----------------------------------------
>
> Key: JCR-2461
> URL: https://issues.apache.org/jira/browse/JCR-2461
> Project: Jackrabbit Content Repository
> Issue Type: Improvement
> Components: jackrabbit-jcr2spi
> Affects Versions: 1.5.7
> Reporter: Michael Dürig
> Priority: Minor
> Attachments: JCR-2461.patch
>
>
> When RepositoryService#getItemInfos() returns a sufficiently large batch for a path, then the second invocation of getItem() below is significantly slower than the first.
> String path = ...
> Item i = session.getItem(path);
> i.refresh(false); // same for refresh(true)
> session.getItem(path);
> In my test setup RepositoryService#getItemInfos() returns 3946 elements. The first invocation takes approx. 800ms, the second 3000ms.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.