FastMail.FM Patchset Updated

From: Bron Gondwana (no email)
Date: Tue Nov 20 2007 - 22:44:39 EST

  • Next message: Bron Gondwana: "FastMail.FM Patchset Updated"

    As usual you can get the patches here:

    http://cyrus.brong.fastmail.fm/

    I've been busy with Cyrus _again_ - so much for my theory
    that I was taking a break.

    OK - here's what's new.

    * http://cyrus.brong.fastmail.fm/patches/cyrus-skiplist-bugfixes-2.3.10.diff
      http://cyrus.brong.fastmail.fm/patches/cyrus-skiplist-robustify-2.3.10.diff

      Skiplist issues - there were two things that could be found
      in recovery that actually bit us during the whole "restart
      every single store with the new skiplist code" project the
      other day. ADD where the record already existed and DELETE
      where it didn't. The later also had an obnoxious bug where
      it would instead delete _the_alphabetically_NEXT_record_
      silently. Ooops.

      I rolled these two into my bugfix and robustify patches, not
      realising Ken had already applied the previous copies upstream.
      Ken - do you want me to break this out as a separate patch on
      top of the others?

    * http://cyrus.brong.fastmail.fm/patches/cyrus-sync-renamedmailbox-2.3.10.diff

      DelayedDelete of entire users was causing excess copying.
      This fixes it, but the solution is less than ideal and causes
      excess messages about folders not existing during an account
      create. Annoying. I'd like a better fix, but this is enough
      for now. Found this one after fixing...

    * http://cyrus.brong.fastmail.fm/patches/cyrus-deletemode-userfix-2.3.10.diff

      This is for upstream. I made a bogus design decision in the
      DelayedDelete code that Ken accepted, and it was causing
      bailouts and all sorts of yuckyness. Made the conditions for
      allowing a folder rename into the DELETED. namespace a lot more
      explicit and correct rather than DELETED.user.foo.TIMESTAMP
      being considered a user's mailbox! The user cleanup script
      no longer causes massive bailouts on sync.

    * http://cyrus.brong.fastmail.fm/patches/cyrus-expunged-nocache-2.3.10.diff

      A little thing to shut up the issue that used to cause segfaults
      and now just causes logging instead. Cache offsets in the .expunge
      file can be bogus for deeper architectural reasons. Rather than
      fix the underlying reasons I just ignore them completely when
      running cyr_expire. At least that way we're not reading bogus
      cache records.

    * http://cyrus.brong.fastmail.fm/patches/cyrus-fastrename-2.3.9.diff

      UPDATED. It turns out it really doesn't matter what YOU can see
      when you're checking if you can use FastRename. It matters if
      there are subfolders at all. Change to passing isadmin true
      and not passing the username to mboxlist_count_inferiors().
      Also need to check if the target path has inferiors to avoid
      log messages and partial move failures that have to back out.
      Much nicer this way. This means fastrename on replicas isn't
      totally broken any more (before, it would never see the subfolders
      because the replication user didn't have ACLs on them and isadmin
      was being set to false explicitly)

    Ken - I'd love to see the deletemode-userfix and skiplist stuff
    go upstream. I know you're not happy with fastrename yet, and
    fair enough - it's an extra risk and if a shutdown happens in
    the middle of the operation things can get very confused! The
    other two patches are not really long-term good for the Cyrus
    codebase so I'd prefer to fix the underlying issues instead :)

    Bron.


  • Next message: Bron Gondwana: "FastMail.FM Patchset Updated"





    Hosted Email Solutions

    Invaluement Anti-Spam DNSBLs



    Powered By FreeBSD   Powered By FreeBSD