Description of problem: If you cancel a running repo sync, pulp.log has pickling error 2013-03-26 16:47:21,536 pulp.plugins.yum_importer.importer_rpm:INFO: cancel_sync invoked 2013-03-26 16:47:21,537 pulp.plugins.yum_importer.importer_rpm:INFO: Telling grinder to stop syncing 2013-03-26 16:48:01,099 pulp.server.dispatch.call:ERROR: Exception encountered while pickling: control_hooks 2013-03-26 16:48:01,108 pulp.server.dispatch.call:ERROR: Can't pickle 'lock' object: <thread.lock object at 0x7fd1c2b6c570> Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/pulp/server/dispatch/call.py", line 210, in serialize data[field] = pickle.dumps(getattr(self, field)) File "/usr/lib64/python2.6/pickle.py", line 1366, in dumps Pickler(file, protocol).dump(obj) File "/usr/lib64/python2.6/pickle.py", line 224, in dump self.save(obj) File "/usr/lib64/python2.6/pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "/usr/lib64/python2.6/pickle.py", line 600, in save_list self._batch_appends(iter(obj)) File "/usr/lib64/python2.6/pickle.py", line 615, in _batch_appends save(x) File "/usr/lib64/python2.6/pickle.py", line 331, in save self.save_reduce(obj=obj, *rv) File "/usr/lib64/python2.6/pickle.py", line 401, in save_reduce save(args) File "/usr/lib64/python2.6/pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "/usr/lib64/python2.6/pickle.py", line 562, in save_tuple save(element) File "/usr/lib64/python2.6/pickle.py", line 331, in save self.save_reduce(obj=obj, *rv) File "/usr/lib64/python2.6/pickle.py", line 419, in save_reduce save(state) File "/usr/lib64/python2.6/pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "/usr/lib64/python2.6/pickle.py", line 649, in save_dict self._batch_setitems(obj.iteritems()) File "/usr/lib64/python2.6/pickle.py", line 663, in _batch_setitems save(v) File "/usr/lib64/python2.6/pickle.py", line 331, in save self.save_reduce(obj=obj, *rv) File "/usr/lib64/python2.6/pickle.py", line 419, in save_reduce save(state) File "/usr/lib64/python2.6/pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "/usr/lib64/python2.6/pickle.py", line 649, in save_dict self._batch_setitems(obj.iteritems()) File "/usr/lib64/python2.6/pickle.py", line 663, in _batch_setitems save(v) File "/usr/lib64/python2.6/pickle.py", line 331, in save self.save_reduce(obj=obj, *rv) File "/usr/lib64/python2.6/pickle.py", line 419, in save_reduce save(state) File "/usr/lib64/python2.6/pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "/usr/lib64/python2.6/pickle.py", line 649, in save_dict self._batch_setitems(obj.iteritems()) File "/usr/lib64/python2.6/pickle.py", line 663, in _batch_setitems save(v) File "/usr/lib64/python2.6/pickle.py", line 331, in save self.save_reduce(obj=obj, *rv) File "/usr/lib64/python2.6/pickle.py", line 419, in save_reduce save(state) File "/usr/lib64/python2.6/pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "/usr/lib64/python2.6/pickle.py", line 649, in save_dict self._batch_setitems(obj.iteritems()) File "/usr/lib64/python2.6/pickle.py", line 663, in _batch_setitems save(v) File "/usr/lib64/python2.6/pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "/usr/lib64/python2.6/pickle.py", line 725, in save_inst save(stuff) File "/usr/lib64/python2.6/pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "/usr/lib64/python2.6/pickle.py", line 649, in save_dict self._batch_setitems(obj.iteritems()) File "/usr/lib64/python2.6/pickle.py", line 663, in _batch_setitems save(v) File "/usr/lib64/python2.6/pickle.py", line 331, in save self.save_reduce(obj=obj, *rv) File "/usr/lib64/python2.6/pickle.py", line 419, in save_reduce save(state) File "/usr/lib64/python2.6/pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "/usr/lib64/python2.6/pickle.py", line 649, in save_dict self._batch_setitems(obj.iteritems()) File "/usr/lib64/python2.6/pickle.py", line 663, in _batch_setitems save(v) File "/usr/lib64/python2.6/pickle.py", line 313, in save (t.__name__, obj)) PicklingError: Can't pickle 'lock' object: <thread.lock object at 0x7fd1c2b6c570> 2013-03-26 16:48:50,528 pulp.plugins.yum_importer.importer_rpm:INFO: Sync of rhel5-9 has been canceled. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Removed serialization of call request in archived_calls collection. Pull request opened against the pulp-2.1 branch
Merged into Pulp 2.1 and master
build: 2.1.1-0.1.beta
verified [root@pulp-f18 ~]# pulp-admin tasks cancel --task-id 0c95e1a9-71a9-47c3-9eea-9fc16c5ce065 [root@pulp-f18 ~]# 2013-04-12 15:16:04,955 pulp.plugins.yum_importer.importer_rpm:INFO: cancel_sync invoked 2013-04-12 15:16:04,955 pulp.plugins.yum_importer.importer_rpm:INFO: Telling grinder to stop syncing 2013-04-12 15:16:04,968 pulp.plugins.yum_importer.importer_rpm:INFO: <centos>Waiting for SaveThread to finish: roughly 140 items on queue 2013-04-12 15:16:05,315 pulp.plugins.yum_importer.importer_rpm:INFO: Sync of centos has been canceled. 2013-04-12 15:16:06,882 pulp.plugins.yum_importer.importer_rpm:INFO: <centos>Waiting for SaveThread to finish: roughly 116 items on queue 2013-04-12 15:16:08,494 pulp.plugins.yum_importer.importer_rpm:INFO: <centos>Waiting for SaveThread to finish: roughly 77 items on queue 2013-04-12 15:16:10,017 pulp.plugins.yum_importer.importer_rpm:INFO: <centos>Waiting for SaveThread to finish: roughly 37 items on queue 2013-04-12 15:16:11,661 pulp.plugins.yum_importer.importer_rpm:INFO: <centos> SaveThread: Queue empty will exit 2013-04-12 15:16:11,719 pulp.plugins.yum_importer.importer_rpm:INFO: <centos> SaveThread: Stopped 2013-04-12 15:16:11,720 pulp.plugins.yum_importer.importer_rpm:INFO: <centos> SaveThread has finished
2.1.1 released