Two bug fix patches
Ken Murchison
murch at andrew.cmu.edu
Thu Sep 13 10:59:04 EDT 2007
David Carter wrote:
> message_parsed_mapped_async.patch
> =================================
>
> Trivial patch, long blurb. Will not affect other Cyrus deployments.
>
> content_lines and cache_version were not being passed correctly.
> Slightly embarrassed since I sent in a fix for the parent routine a few
> weeks back. Someone has a nice reconstruct to look forward too...
>
> message_parsed_mapped_async() is used by "UPLOAD SIMPLE" in sync_server,
> which takes a plain text message and regenerates the cyrus.cache entry.
>
> I use this for Cyrus 2.1.X <-> 2.3.X cross version replication. Everyone
> else will be using "UPLOAD PARSED" which passes cache entries verbatim
> alongside the message body. A couple of observations:
>
> 1) I think that it would make sense to change from "UPLOAD PARSED" to
> "UPLOAD SIMPLE" in the general case. I can't see much significant
> overhead in regenerating cache entries at the server end, and it
> is better than passing Cyrus version specific lumps of binary cache
> data over the wire. [UPLOAD SIMPLE also finesses the timestamp issues
> caused sync_message_fsync()'s deferred fflush()/fsync()/fclose()].
>
> 2) message_parsed_mapped_async() is an historical anomaly.
>
> It should really be replaced by message_parse_body() and
> message_create_record(). The existing parameters aren't quite right.
>
> message_parse_file() cheats a little by xmalloc()ing a struct
> body and passing it back as an opaque handle so that append_copy()
> and append_fromstage() can later call message_create_record().
>
How about the attached patch as a replacement for
message_parse_mapped_async()?
--
Kenneth Murchison
Systems Programmer
Project Cyrus Developer/Maintainer
Carnegie Mellon University
-------------- next part --------------
A non-text attachment was scrubbed...
Name: upload_simple.diff
Type: text/x-patch
Size: 8387 bytes
Desc: not available
Url : http://lists.andrew.cmu.edu/pipermail/cyrus-devel/attachments/20070913/004c7ce1/attachment.bin
More information about the Cyrus-devel
mailing list