Description of problem: On a mildly loaded DB (8000 content items), the c.a.versioning.Versions.getCreationTxn/getLastTxn methods are very slow, taking around 400ms to complete. Amongst other things, these methods are used by the implementation of the Auditing interface in VersionedACSObject. So if you call the sequence item.getLastModifiedUser() item.getLastModifiedDate() item.getLastModifiedIP() item.getCreationUser() item.getCrwationDate() item.getCreationIP() Then the page will take 400x6 = 2.4 seconds just getting auditing data. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Created attachment 96969 [details] DB explain plan for the problem queries
which database / version?
PG 7.3.4 (as distributed with RHEL AS 3). I've also run a full vaccuum analyze, but it made no improvement.
One other question: How often is the page containing these API calls used by the user? (i.e., is it high priority, or are there other performance issues you think should be addressed first?)
Its the CMS item summary page which is fairly important as its in the critical path for CMS authors. That said, Randy committed patch 39404 that removes use of versioning for storing auditing info, so its no longer much of an issue. I'm not sure if any other code uses getCreationTxn/getLastTxn.....
*** Bug 113673 has been marked as a duplicate of this bug. ***
stale