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 ---