GitHub user cloverhearts opened a pull request: https://github.com/apache/zeppelin/pull/1533
[ ZEPPELIN-1559 ] Code Editor slow performance resolve of the many Notebooks ### What is this PR for? Currently, if you have a Notebook large number of, There is a sharp decrease in performance of the Code editor. The number and Paragraph creation of the Notebook does not have a relationship. We are should always use the Code editor of the same performance. I had to print a Notebook list only if there is a request. There was quite a lot of performance improvements. ### What type of PR is it? Improvement ### Todos - [x] - change Notebook list render logic ### What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-1559 ### How should this be tested? 1. Create a notebook over 1000. (tested 10,000) I've used script on this. (important! please, backup for notebooks directory.) ``` #/bin/bash idx="0" while [ $idx -lt 1000 ] # notebooks count 1000 do mkdir $idx echo """ { \"paragraphs\": [ { \"text\": \"fsdkljfowiejfowejfoiwefiowejfiojlkdsjfklsdjflkjsdflkjwlkjefewf\", \"dateUpdated\": \"Oct 13, 2016 5:02:44 PM\", \"config\": { \"colWidth\": 12.0, \"graph\": { \"mode\": \"table\", \"height\": 300.0, \"optionOpen\": false, \"keys\": [], \"values\": [], \"groups\": [], \"scatter\": {}, \"map\": { \"baseMapType\": \"Streets\", \"isOnline\": true, \"pinCols\": [] } }, \"enabled\": true, \"editorMode\": \"ace/mode/scala\" }, \"settings\": { \"params\": {}, \"forms\": {} }, \"apps\": [], \"jobName\": \"paragraph_1476345687682_-1459653828\", \"id\": \"20161013-170127_68316618\", \"dateCreated\": \"Oct 13, 2016 5:01:27 PM\", \"status\": \"READY\", \"progressUpdateIntervalMs\": 500 } ], \"name\": \""${idx}"\", \"id\": \""${idx}"\", \"angularObjects\": { \"2BZSC9D3G:shared_process\": [], \"2BXGWF5TF:shared_process\": [], \"2BYKTADMA:shared_process\": [], \"2BYFT9HTZ:shared_process\": [], \"2BXDTJMED:shared_process\": [], \"2BZHPZ6NS:shared_process\": [], \"2BYKRWYB3:shared_process\": [], \"2BZH2UAT4:shared_process\": [], \"2BZ38J35G:shared_process\": [], \"2BXJ2X464:shared_process\": [], \"2BYQ57ED9:shared_process\": [], \"2BXDSA2SN:shared_process\": [], \"2BWZCTD2B:shared_process\": [], \"2BWT81MNU:shared_process\": [], \"2BWA7ZTRD:shared_process\": [], \"2BXW6X5KN:shared_process\": [], \"2BVWDQPXH:shared_process\": [], \"2BZGAF8KG:shared_process\": [] }, \"config\": {}, \"info\": {} } """ > $idx/note.json idx=$[$idx+1] done ``` 2. zeppelin restart or refresh notebook. 3. Try coding in any notebook. (fast) ### Screenshots (if appropriate) #### before ( 5000 notebooks) ![optimization_before_codeditor](https://cloud.githubusercontent.com/assets/10525473/19457150/f18845a0-94ff-11e6-876d-4386dbf1e7de.gif) #### after ( 5000 notebooks) ![optimization_for_codeeidtor](https://cloud.githubusercontent.com/assets/10525473/19457184/1f7d5036-9500-11e6-8b0c-91b301641c73.gif) ### Questions: * Does the licenses files need update? no * Is there breaking changes for older versions? no * Does this needs documentation? no You can merge this pull request into a Git repository by running: $ git pull https://github.com/cloverhearts/zeppelin ZEPPELIN-1559-Notebook-broadcast-opti Alternatively you can review and apply these changes as the patch at: https://github.com/apache/zeppelin/pull/1533.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1533 ---- commit 14e88bb768f65a34c699e856a6583671a65ecd67 Author: CloverHearts <cloverhearts...@gmail.com> Date: 2016-10-17T21:43:48Z selectively modified to render the Notebook list. ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---