Le 21/04/2011 20:40, Bron Gondwana a écrit :

Unfortunately, moving to 2.4.x version is not yet an option for us :(
Why not?

So ... is there some cyrus guru expert out there with enough knowledge
of that part of the code to fix it in the 2.3.x version ?
Yes - I already did once... and I'd rather not touch it with a
bargepole again!  Seriously, there's all sorts of issues with
that bit of the code in 2.3.x, and this is just one of them.

I'd be interested in knowing your reasons for not upgrading to
2.4, because I'd prefer to fix those than ever look at the
2.3 seen management code again!

Bron.

First, thanks for your quick reply.

Actually we do have quite a few (dozens) "patches" of our own applied to the cyrus codebase, and are currently on the 2.3.16 version. I say "patches" because not all of them are quite "clean". In the past we already gave back some, so that you could merge them to the codebase if you deemed them interesting. On the long run, we try to check/clean our other patches and decide whether they could be of any interest to be given back too; knowing that many of them are pretty specific to our customers requests, and are of absolutely no interest to the community (some of them should actually be burnt on the public place - the patches I mean ;) - ... but "the customer is King" and we do not always have the last word).

Did I already say we have quite a few patches ? Some of them do alter a lot of the original codebase. So it takes us some time to move to newer versions of cyrus, especially when the codebase is heavily rewritten - be it for the better :) - as it was for 2.4.x. Actually we are currently considering whether the next codebase on which to work will be 2.4.x or (next to-be) 2.5.x.

And that's it for our story.

We thus tried our luck on the mailing list to see if someone with its bio-hazard suit on would dare to fix the bug in the maintained 2.3.x branch.


Regards
Julien

PS: maybe you remember having received an email from one of us some months ago (see attachment) ? It gave some more details on a few patches we do use on production platforms.

--- Begin Message ---
Dear All,

We are an European hosting company and we deploy Cyrus for several years with 
success.
Our main clients are major European ISPs, we host 40 million mailboxes on 
several platforms, 25 million mailboxes on the biggest.


We made some code rewrite for better scalability/performance or new features, 
asked by our clients. Unfortunately, several developments are not RFC compliant 
and we believe are not interesting to reverse :-(
So, we are very happy with Cyrus and we want to contribute more. (we 
contributed to issue 3187 , 3188 , 3191, 3214, 3215 , 3216 , 3227 , 3238, 3146, 
3152, 3066, 3246, 2913, 2926 and the pop3 optimizer added in 2.3.16).


Here some features that we can share (if you think they have value). First we 
plan to merge our code with the next Cyrus 2.4 and we will spend some time to 
have a clean code (unfortunately we often had to compromise between time limit 
and good code design) :

 - split header/body from a given mail size : headers on high-end storage, big 
body on lowcost storage (emails more that 1Mb are 10% of total emails and 80% 
of our global storage). It is also possible to compress the body part to save 
space. It is possible to choose among 3 backends to store the body : 
filesystem, webdav (not really tested, just for fun) and Grid Storage (our 
proprietary storage solution).
However we think that a better way would be to split at attachment level 
instead of body level, it could be possible to save base64 overhead, permit 
de-duping and do data compression (i.e on PDF or Office). May be it would be 
nice to add an http/webdav daemon to Cyrus to give direct access to the 
attachments...

 - RFC 5423 - Internet Message Store Events is mostly implemented to send 
external notifications. We add an activemq plugin to notifyd to send JMS 
notifications.

 - We just finalize and deploy full-text search in Cyrus like dovecot 
implementation (it breaks IMAP SEARCH). We write a Solr client that not just 
indexes html/plain text, but also PDF and Office attachments

 - murderless Cyrus proxy based on a specific mysql cyrusdb backend

 - a dynamic mail delivery feature.
Pop3d and Imapd processes query a daemon after login (1 time per mailbox per 
day) to get the number of current marketing emails to deliver. If any, the 
process sleeps a few ms to let the external daemon deliver the emails. Thus, 
when a campaign is out of date we don't deliver any email to the mailbox (save 
space and to pollute user's mailbox).

 - gracefully shutdown (SIGUSR1). The master stop to listen but don't break 
current connections. We can also start a new master (i.e. to reload the 
configuration)
A better way would be to spread SIGHUP to children

All these features are today on production.


Sincerly,
Sébastien

-----Message d'origine-----
De : info-cyrus-bounces+sebastien.michel=osorigin....@lists.andrew.cmu.edu 
[mailto:info-cyrus-bounces+sebastien.michel=atosorigin....@lists.andrew.cmu.edu]
 De la part de Dave McMurtrie
Envoyé : vendredi 3 septembre 2010 17:26
À : Info Cyrus
Objet : New Cyrus project site and bugzilla

Good morning,

I'm pleased to announce that we are migrating over to a new website and
bugzilla server today.

The new site is now available at http://www.cyrusimap.org/,
notwithstanding any DNS cache issues (I forgot to lower the ttl, so you
may end up still hitting the old server until later today).

We're very interested in growing the Cyrus project and attracting new
volunteers to contribute to the project, and that desire is at the core
of why this migration is taking place.  The biggest change is that we're
trying to separate the environment from Carnegie Mellon University
infrastructure as much as possible.  Previously, contributions of any
kind would end up requiring us to create a CMU computer account for a
willing volunteer.  We can now simply create local shell accounts as
required.  Almost the entire website has been created using MediaWiki
software, so anyone who is willing to register for an account may update
the website content.

There is still a lot of work to do before this migration is complete, so
you may find some stale links, places where I don't yet have redirects
set up from the old servers, etc.  If you encounter these, please feel
free to fix them if you already have access, request access to fix them
if you don't, or simply report them.

In particular, the old bugzilla server is currently not running so
nobody may accidentally update things there.  If you need bugzilla
access today, you can be sure you're talking to the new server by either
following a link from http://www.cyrusimap.org/ or by directly visiting
http://bugzilla.cyrusimap.org/

Lastly, I'd like to graciously thank Yoni Afek, the web designer who did
the bulk of the work necessary to make all this happen with little or no
direction along the way.  Please don't hesitate to contact him at
http://yoniafek.com/ if you require his services.

Thank you,

Dave
----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

--- End Message ---

Reply via email to