| Summary: | Performance issue on large WAR deployment | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [RT] Gemini.Web | Reporter: | Radoslav Ivanov <radoslav.ivanov> | ||||||||||
| Component: | unknown | Assignee: | Project Inbox <gemini.web-inbox> | ||||||||||
| Status: | CLOSED FIXED | QA Contact: | |||||||||||
| Severity: | normal | ||||||||||||
| Priority: | P3 | CC: | milesg78 | ||||||||||
| Version: | unspecified | ||||||||||||
| Target Milestone: | 2.1.0.RC1 | ||||||||||||
| Hardware: | All | ||||||||||||
| OS: | All | ||||||||||||
| Whiteboard: | |||||||||||||
| Attachments: |
|
||||||||||||
|
Description
Radoslav Ivanov
Created attachment 215391 [details]
Patch proposal
You see, the patch proposal deals with:
1. Caching all zip entries of WAR.
2. Usage of "java.util.jar.ZipFile.getInputStream(ZipEntry)" for faster scanning of nested jar-s.
3. Disabling class scanning on early phase and preventing war scan.
Time:
Deacreased war scanning from 2m 32sec to 0m 3sec.
Created attachment 215639 [details]
Patch proposal (new)
Few words about new patch proposal - it resembles to the previous one except for more clear approach on getting(decoding) local file path from url with usage of URLDecoder.decode() (if decoding is missing then FileNotFoundException might be thrown on url paths with '%20' (space))
- disadvantages of this method - deprecated;
- advantages - 1) delegates to the proposed one (decode(path,enc)) 2) uses default platform encoding 3) does not throw(deals with) UnsupportedEncodingException, because it uses always correct platform default encoding.
Pending unit test(s) for upload.
Created attachment 216458 [details]
Code coverage
Created attachment 216459 [details]
Patch and test
Note the new attachments: 1. "Patch and test" and 2. "Code coverage" showing 74.6% coverage of the class with new implementation. The patch was committed. Commit Id 1e1f581a359fc082222cf5f2d70c61a62a9c6a19 Thanks. The fix will be available in 2.1.0.RC1. Please confirm that you wrote 100% of the code and you have the right to contribute the code to Eclipse I confirm that I wrote 100% of the code and I have the right to contribute the code to Eclipse Thanks |