Monthly Archives: January 2013

Turkey, Istanbul

I used to go there quite a lot when I was young so I had a strange feeling to go back there after all those years. I feared not to be able to find the old Istanbul streets I knew but thankfully they do still exist.

Old Istanbul

Rolleiflex, dec. 2012

Python : new zeroMQ and mongoDB drivers

pyzmq-2.2.0.1

This one is very interesting to me because the code from the mighty gevent-zeromq library which brought gevent support to pyzmq has been merged into it ! I find it very humble and positive for the Open Source community to see such merges and want to express my gratitude to Travis Cline and the zeroMQ team for that.

Migrating is as easy as :

# gevent-zeromq previous way
from gevent_zeromq import zmq

# pyzmq new way
from pyzmq.green import zmq

I strongly encourage you to read the changelog.

pymongo-2.4.2

Bugfix release, the main point is that PyMongo will no longer select a replica set member for read operations that is not in primary or secondary state. Here is the changelog.

Clustering : corosync v2.3.0 & resource-agents-3.9.4

Some new stuff related to clustering are now available on portage ! Here are the highlights.

crmsh-1.2.4

  • better pacemaker-1.1.8 compatibility
  • fine tuning history and regression fixes

resource-agents-3.9.4

Oh yes I’ve been slacking on that one but it’s finally here ! As a reminder this huge bump (1.0.4 -> 3.9.4) is the result of the upstream merge from the pacemaker and rgmanager resource agents developments. This is reflected by a new rgmanager USE flag for those who want to install those resources.

  • zabbixserver : new resource agent
  • IPaddr2: partial rewrite and support for IPv6
  • iscsi: support for auto recovery and performance improvements
  • tools: replace the findif binary by findif.sh

See the full changelog.

corosync-1.4.5 and corosync-2.3.0

The next releases of the flatiron and needle branches of corosync are rich of bug fixes, man updated and performance improvements. I wasn’t able to find the proper changelog pages but you can have a look here where a bunch of the fixes are listed.

Coming soon on mongoDB

Some interesting stuff is cooking on the 2.3.x development branch of mongoDB, let’s take a look at what we can expect to see in the future 2.4.x releases.

Switch to v8 Javascript engine

It’s finally real since 2.3.1 as the folks at 10gen switched to v8 as the default JS engine powering mongoDB. This is a huge and a long time craved move which will primary improve performance and allow concurrent queries to be executed (aka collection level locking).

Full text search

This one is around since 2.3.2 and will be available as a new type of index you’ll have to create using the textSearchEnabled=true parameter. It’s still a new feature under development so don’t expect something able to compete with solr of course but still, it’s a very nice feature ! You’ll find more information about this on A. Jesse Jiryu Davis’ blog.

Other highlights

  • Aggregation framework performance improvements
  • New circular geospatial index type. Support for line, polygon, and point intersection queries as well as GeoJSON parsing.
  • Better server stats framework
  • Storage engine improvements to reduce fragmentation
  • New operators : $push to sorted and fixed size arrays, $setOnInsert modifier for upserts, $geoNear and $within operators in aggregation framework
  • _secondaryThrottle is now on by default : this adds a write concern support for chunk migration reducing the replication lag caused by chunk moves
  • –objcheck is now on by default : the server validates the requests’ objects before inserting the data. This used to have a slight performance impact but should be countered by v8 fairly well

rabbitMQ 2.8.7 & 3.0.1 released

It took me quite a while to bump this package as v3.0.0 and v3.0.1 were released respectively on Nov. 19 and Dec. 11 but here they are. This bump is dedicated to Jasper @darkroom bar in NZ 🙂

Anyway, that’s quite a huge release for the rabbitMQ team which they described themselves very well :

This release introduces dynamic, policy-based control of mirroring and federation, improves the user friendliness of clustering, adds support for per-message TTL, introduces plugins for web-STOMP and MQTT, and adds many smaller new features and bug fixes.

In addition, performance is improved in several cases. Most notably, mirrored queues are substantially faster.

So my highlights will be very modest compared to the real thing and I strongly encourage you to spend 5 minutes to read the changelogs.

highlights

  • allow queue mirroring to be defined by broker-wide policy, not queue declaration, and add “exactly” mode
  • support per-message TTL
  • enable heartbeats by default
  • remove support for AMQP’s “immediate” publish mode
  • greatly improve performance of mirrored queues
  • improve performance of SSL when using HiPE compilation
  • improve performance of bulk dead-lettering
  • new plugin: implement Message Queue Telemetry Transport version 3.1
  • allow mixed patch versions of RabbitMQ in a cluster

 

Read the 3.0.0 changelog and 3.0.1 changelog for more juicy stuff.

uWSGI : v1.4.4 released

Bug fix release only, I’ve just bumped it on portage.

highlights

  • backported a couple of fixes for the https router
  • fixed wrong typecasting in yaml and fixed subscription system on 32 bit
  • added and additional error report for the gevent plugin if a read() fails
  • improved apache2 mod_proxy_uwsgi

See the full changelog as usual.