patch applied (/home/srv/code/hackage-server): "Rework the async var to batch updates and amortise the work" and 3 others

duncan at lun.haskell.org duncan at lun.haskell.org
Mon Oct 10 01:18:47 CEST 2011


Sun Oct  9 17:29:55 BST 2011  Duncan Coutts <duncan at community.haskell.org>
  * Rework the async var to batch updates and amortise the work
  Ignore-this: 7541312d71e65f8effa0c4ba33d0b480
  Previously, every single write to the var was laboriously evaluated
  and since jobs keep comming in faster than they can be evaluated,
  then the input queue just grows without bound. But if we're just
  writing then if we have several new inputs in the queue then we can
  just skip to the final update and evaluate that one. That's now what
  we do, with a slight complication to do with incremental updates.

    M ./Distribution/Server/Util/AsyncVar.hs -16 +34
    M ./hackage-server.cabal +1
Sun Oct  9 17:38:01 BST 2011  Duncan Coutts <duncan at well-typed.com>
  * Use version in hackage-mirror user agent string
  Ignore-this: 1412e6389f024ba53bfc563dc6687dc4

    M ./Distribution/Client.hs -1 +3
Sun Oct  9 17:44:24 BST 2011  Duncan Coutts <duncan at well-typed.com>
  * Keep mirror client files in per-server dirs
  Ignore-this: 4b102dbb3490bff0f4726221d00a1f05
  And delete package tarballs when they've been successfully uploaded.

    M ./Distribution/Client.hs -5 +5
    M ./MirrorClient.hs -6 +10
Sun Oct  9 17:48:56 BST 2011  Duncan Coutts <duncan at well-typed.com>
  * Depend on the latest HTTP lib, for bug fixes
  Ignore-this: 987fbac8094bcd99370b753eeae60fac

    M ./hackage-server.cabal -1 +1



More information about the cabal-devel mailing list