Closed
Bug 311405
Opened 19 years ago
Closed 19 years ago
Improve the way the ics provider handles batches
Categories
(Calendar :: Internal Components, defect)
Calendar
Internal Components
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: mvl, Assigned: mvl)
Details
Attachments
(1 file, 1 obsolete file)
3.89 KB,
patch
|
dmosedale
:
first-review+
|
Details | Diff | Splinter Review |
The ics provider tries to prevent writing multiple times at the same time. To do that, it has a queue of unprocessed items. But while processing that queue, it still writes/uploads. This makes batches slow.
Assignee | ||
Comment 1•19 years ago
|
||
Originally, writeICS was called from the observer of the memory calendar. This was done because that we were sure that all changes were flushed to disk. But there are only two places that can modify the memory calendar: the initial parsing of the file and processQueue. The changes from parsing don't need to get saved back, so writeing from processQueue is ok. By moving the call, we can do it after the queue is empty, which reduces the number of flushes from n to 2 (for n>2, and n is the number of changes in the batch, for example importing) 1 flush for the first change, when the queue is still empty, and one for all the rest. not perfect, but a lot better.
Attachment #198730 -
Flags: first-review?(dmose)
Assignee | ||
Comment 2•19 years ago
|
||
The previous patch has some debug stuff still in it.
Attachment #198731 -
Flags: first-review?(dmose)
Assignee | ||
Updated•19 years ago
|
Attachment #198730 -
Attachment is obsolete: true
Attachment #198730 -
Flags: first-review?(dmose)
Comment 3•19 years ago
|
||
Comment on attachment 198731 [details] [diff] [review] the correct patch r=dmose
Attachment #198731 -
Flags: first-review?(dmose) → first-review+
Assignee | ||
Comment 4•19 years ago
|
||
patch checked in.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Comment 5•19 years ago
|
||
I've seen a couple of these since this patch landed: ###!!! ASSERTION: nsPipeInputStream::Seek: 'Not Reached', file c:/s/aviary-trunk/mozilla/xpcom/io/nsPipe3.cpp, line 855 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file c:/s/aviary-trunk/mozilla/xpcom/io/nsMultiplexInputStream.cpp, line 329 ************************************************************ * Call to xpconnect wrapped JSObject produced this error: * [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.requestSucceeded]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: file:///C:/s/aviary-trunk/mozilla/obj-lightning/dist/xpi-stage/lightning/components/calICSCalendar.js :: anonymous :: line 518" data: no] ************************************************************
You need to log in
before you can comment on or make changes to this bug.
Description
•