ckan / ckanext-archiver

Archive CKAN resources
MIT License
21 stars 46 forks source link

Kombu==2.1.3 calls non-existing msgpack method #8

Open florianm opened 9 years ago

florianm commented 9 years ago

Source install of ckan 2.3a, ckanext-spatial, ckanext-archiver and ckanext-qa on Ubuntu 14.04 here.

I just noticed (and posted to ckan-dev) that the kombu version (2.1.3 as per plugin requirements) tries to import msgpack (which is no requirement of the involved packages and therefore needs to be installed manually) and throws an Internal Server Error after creating a resource, when ckanext-qa sends a job to celeryd using a kombu-serialised msgpack message (if I understood that correctly).

A hackaround was to pip install u-msgpack-python into ckan's virtualenv, and to change line 314 of the installed kombu.serializer at /var/lib/ckan/default/lib/python2.7/site-packages/kombu/serialization.py from registry.register('msgpack', msgpack.packs, msgpack.unpacks, to registry.register('msgpack', msgpack.packb, msgpack.unpackb, and restart the web server.

Using the latest celery (presumably pulling in a more recent kombu) in requirements.txt wrecked other things but might be the way to a more permanent fix. No pull request submitted as the problem isn't with ckanext-archiver code.