share-extras / js-console

Administration Console component for Alfresco Share, that enables the execution of arbitrary JavaScript code against the repository
Other
74 stars 53 forks source link

Opening the JS Console on a large Alfresco 4.2 instance, takes down Alfresco #75

Closed tgeens closed 7 years ago

tgeens commented 7 years ago

The environment is an Alfresco EE 4.2 with about 10M documents.

Opening the JS Console triggers some very broad searches to count documents/folders/... This will run as an unbounded metadata-query on the db. Those db-queries ran for more than an hour before the DBA aborted the running queries in msyql. During that time, Alfresco was more or less unavailable.

Starting point: https://github.com/share-extras/js-console/blob/v0.6.0-rc1/javascript-console-repo/src/main/amp/config/alfresco/extension/templates/webscripts/de/fme/jsconsole/serverInfo.get.js

tgeens commented 7 years ago

@AFaust already mentioned this issue in https://github.com/share-extras/js-console/issues/33#issuecomment-124990017

AFaust commented 7 years ago

The 0.6.0 release published on Maven Central has a lot of enhancements over the 0.6.0-rc1. Unfortunately, no tag or release was created for that on GitHub. One improvement is that server info has been moved to a secondary tab of the UI and will not be loaded without active action by the admin (must be requested). This is part of the commit c1c95e801a059cbb940c385a862af2d417d98877

AFaust commented 7 years ago

The types of queries to determine number of documents etc. should be best dealt via SOLR and just use the "numberFound" result metadata instead of actually fetching all results. Unfortunately, unless ALF-21824 has been addressed there is no way to force EVENTUAL consistency for searches from Script API.

jgoldhammer commented 7 years ago

Closed for now. Please use the newer version. There is nothing i can do at the moment (besides removing the code). If somebody is interested in removing it, please submit a pr.

Thanks Jens