Bug 928087 - pickling error in pulp.log when cancelling sync tasks
Summary: pickling error in pulp.log when cancelling sync tasks
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Pulp
Classification: Retired
Component: rpm-support
Version: 2.1 Beta
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: 2.1.1
Assignee: Jason Connor
QA Contact: Preethi Thomas
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-03-26 20:51 UTC by Preethi Thomas
Modified: 2014-03-31 01:40 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-05-08 14:08:25 UTC
Embargoed:


Attachments (Terms of Use)

Description Preethi Thomas 2013-03-26 20:51:33 UTC
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:

Comment 1 Jason Connor 2013-04-02 19:49:45 UTC
Removed serialization of call request in archived_calls collection.

Pull request opened against the pulp-2.1 branch

Comment 2 Jason Connor 2013-04-02 20:25:10 UTC
Merged into Pulp 2.1 and master

Comment 3 Jason Connor 2013-04-02 20:25:43 UTC
Merged into Pulp 2.1 and master

Comment 4 Jeff Ortel 2013-04-11 18:26:50 UTC
build: 2.1.1-0.1.beta

Comment 5 Preethi Thomas 2013-04-12 18:06:48 UTC
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

Comment 6 Preethi Thomas 2013-05-08 14:08:25 UTC
2.1.1 released


Note You need to log in before you can comment on or make changes to this bug.