Performance of CMIS Folder.getChildren()

When I am using Folder.getChildren() (org.apache.chemistry.opencmis.client.api.Folder), I found that the response time grow linearly with number of children. From profiling, I found that in org.nuxeo.ecm.core.opencmis.impl.server.NuxeoCmisService, the method getLatestChangeLogToken(repoId) is invoked for each children. If there are 100 CMIS objects in the folder, then getLatestChangeLogToken(repoId) is invoked 100 times.

If there any way to exclude “latest change log” in children as it is not used in my client application? Or there is other way to improve performance?

(as comparison, for 100 items, query with “IN_FOLDER(folder_id)” takes <200ms but `Folder.getChildren(oc)` takes >1s. But I need to use getChildren(oc) because the children may be of different types.)

version: Nuxeo 5.6

0 votes

1 answers

2314 views

ANSWER



Thanks for the report, I opened NXP-11559 to track this issue.

0 votes



Change committed for 5.7.2.
07/15/2013