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