discoproject/disco — Issue #298: can't use decorated map_reader as a param to Job.run
Author: tubaman
Created: 2012-02-10 20:39:34+00:00
State: open

If I pass a decorated map_reader to Job.run, I get:

2012/02/10 20:36:40 master ERROR: Job failed: Worker at 'ec2-e-01' died: Traceback (most recent call last):
File "/srv/disco/data/ec2-e-01/07/TagJob@530:dd3d7:ce067/usr/lib/pymodules/python2.6/disco/worker/__init__.py", line 327, in main
task = cls.get_task()
File "/srv/disco/data/ec2-e-01/07/TagJob@530:dd3d7:ce067/usr/lib/pymodules/python2.6/disco/worker/__init__.py", line 376, in get_task
return Task(**dict((str(k), v) for k, v in cls.send('TASK').items()))
File "/srv/disco/data/ec2-e-01/07/TagJob@530:dd3d7:ce067/usr/lib/pymodules/python2.6/disco/task.py", line 66, in __init__
self.jobobjs = dPickle.loads(self.jobpack.jobdata)
File "/srv/disco/data/ec2-e-01/07/TagJob@530:dd3d7:ce067/usr/lib/pymodules/python2.6/disco/dPickle.py", line 18, in unfunc
return types.FunctionType(code, globals, argdefs=defs)
TypeError: ('arg 5 (closure) must be tuple', , ('(\x02\x00\x00\x00c\x04\x00\x00\x00\x08\x00\x00\x00\x06\x00\x00\x003\x00\x00\x00s[\x00\x00\x00d\x01\x00d\x02\x00k\x00\x00l\x01\x00}\x04\x00\x01|\x04\x00|\x02\x00|\x03\x00d\x03\x00\x19\x83\x02\x00\\\x02\x00}\x05\x00}\x06\x00x+\x00\x88\x00\x00|\x00\x00|\x01\x00|\x02\x00|\x03\x00\x83\x04\x00D]\x14\x00}\x07\x00|\x05\x00|\x06\x00|\x07\x00f\x03\x00V\x01q?\x00Wd\x00\x00S(\x04\x00\x00\x00Ni\xff\xff\xff\xff(\x01\x00\x00\x00t\x0b\x00\x00\x00url_to_pcapt\x0b\x00\x00\x00blob_hashes(\x02\x00\x00\x00t\n\x00\x00\x00pcapreaderR\x00\x00\x00\x00(\x08\x00\x00\x00t\x02\x00\x00\x00fdt\x04\x00\x00\x00sizet\x03\x00\x00\x00urlt\x06\x00\x00\x00paramsR\x00\x00\x00\x00t\x03\x00\x00\x00tagt\x04\x00\x00\x00pcapt\x04\x00\x00\x00data(\x01\x00\x00\x00t\n\x00\x00\x00map_reader(\x00\x00\x00\x00s%\x00\x00\x00/home/ryan/joshua_disco/pcapreader.pyt\x07\x00\x00\x00wrapperS\x00\x00\x00s\n\x00\x00\x00\x00\x02\x10\x01\x19\x01\x16\x00\x06\x01N',))