Bug 493037 - [api] change task list externalization to use SAX instead of DOM
Summary: [api] change task list externalization to use SAX instead of DOM
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Mylyn (show other bugs)
Version: 3.19   Edit
Hardware: PC Windows 7
: P3 enhancement (vote)
Target Milestone: 3.20   Edit
Assignee: Jaxsun McCarthy Huggan CLA
QA Contact:
URL:
Whiteboard:
Keywords: noteworthy
Depends on:
Blocks:
 
Reported: 2016-05-04 19:53 EDT by Jaxsun McCarthy Huggan CLA
Modified: 2016-05-20 13:00 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jaxsun McCarthy Huggan CLA 2016-05-04 19:53:30 EDT
Currently Mylyn reads the task list into a DOM then traverses the DOM to read the queries/tasks/categories in the task list. This uses a lot of memory and can cause out of memory errors when reading a large task list. Switching to a streaming approach would be much more efficient in this regard.
Comment 1 Jaxsun McCarthy Huggan CLA 2016-05-04 19:55:22 EDT
I've written a POC of a SAX parser for reading the task list and it appears to work. I will push a review but would like to do some more testing before doing so.
Comment 2 Eclipse Genie CLA 2016-05-04 20:03:15 EDT
New Gerrit change created: https://git.eclipse.org/r/72114
Comment 3 Eclipse Genie CLA 2016-05-16 19:44:36 EDT
New Gerrit change created: https://git.eclipse.org/r/72860
Comment 4 Eclipse Genie CLA 2016-05-16 19:52:38 EDT
New Gerrit change created: https://git.eclipse.org/r/72861
Comment 5 Eclipse Genie CLA 2016-05-16 19:59:49 EDT
New Gerrit change created: https://git.eclipse.org/r/72862
Comment 6 Eclipse Genie CLA 2016-05-18 00:02:14 EDT
New Gerrit change created: https://git.eclipse.org/r/72989
Comment 7 Eclipse Genie CLA 2016-05-18 00:02:16 EDT
New Gerrit change created: https://git.eclipse.org/r/72988
Comment 14 Jaxsun McCarthy Huggan CLA 2016-05-18 20:15:32 EDT
In addition to moving to SAX this change introduced a significant performance improvement for large task list loading and deprecated the task list migration which was done for task lists from Mylyn 2.0.

Sam, can you please let me know what I need to update so that integrators know about he deprecation of the migration, and users know that Mylyn 2.0 task lists are no longer supported.
Comment 15 Sam Davis CLA 2016-05-19 13:44:00 EDT
Can you add an entry to the porting guide (https://wiki.eclipse.org/Mylyn/Porting_Guide) for 3.20 saying that migrators will no longer be invoked? I will update https://projects.eclipse.org/projects/mylyn/releases/3.20/review now.
Comment 16 Sam Davis CLA 2016-05-19 13:52:17 EDT
It would be a good idea to send a message to mylyn-integrators with a link to the porting guide (which should link to this bug).
Comment 17 Jaxsun McCarthy Huggan CLA 2016-05-19 14:20:34 EDT
Thank you Sam, I will do that.
Comment 18 Jaxsun McCarthy Huggan CLA 2016-05-19 18:54:38 EDT
I've updated that wiki, once the update is approved I'll send an email to integrators.
Comment 19 Jaxsun McCarthy Huggan CLA 2016-05-20 13:00:36 EDT
The Wiki update is visible and I've emailed the integrators mailing list.