Bug 796292

Summary: race condition when deleting lots of repos simultaneously
Product: [Retired] Pulp Reporter: James Slagle <jslagle>
Component: user-experienceAssignee: Jason Connor <jconnor>
Status: CLOSED CURRENTRELEASE QA Contact: Preethi Thomas <pthomas>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 1.1.0CC: mmccune, skarmark
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-05-25 14:13:11 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description James Slagle 2012-02-22 16:07:25 UTC
If you delete lots of repos at once (20-30+), this traceback might occur:

error_log:
===========
---
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/pulp/server/api/repo.py", line 581, in
delete
    self.packageapi.delete(pkgid, keep_files)
  File "/usr/lib/python2.6/site-packages/pulp/server/api/package.py", line 100,
in delete
    pkg["name"], pkg["version"], pkg["release"], pkg["arch"],
TypeError: 'NoneType' object is unsubscriptable
2012-02-22 05:55:37,251 2524:139693744191232: pulp.server.api.repo:ERROR:
repo:587 'NoneType' object is unsubscriptable
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/pulp/server/api/repo.py", line 581, in
delete
    self.packageapi.delete(pkgid, keep_files)
  File "/usr/lib/python2.6/site-packages/pulp/server/api/package.py", line 100,
in delete
    pkg["name"], pkg["version"], pkg["release"], pkg["arch"],
TypeError: 'NoneType' object is unsubscriptable
---

pulp.log:
=======
[Wed Feb 22 05:55:42 2012] [error] Traceback (most recent call last):
[Wed Feb 22 05:55:42 2012] [error]   File
"/usr/lib/python2.6/site-packages/pulp/server/api/repo.py", line 581, in delete
[Wed Feb 22 05:55:42 2012] [error]     self.packageapi.delete(pkgid,
keep_files)
[Wed Feb 22 05:55:42 2012] [error]   File
"/usr/lib/python2.6/site-packages/pulp/server/api/package.py", line 100, in
delete
[Wed Feb 22 05:55:42 2012] [error]     pkg["name"], pkg["version"],
pkg["release"], pkg["arch"],
[Wed Feb 22 05:55:42 2012] [error] TypeError: 'NoneType' object is
unsubscriptable


Pulp looks up the package to delete, but it's not found and it's assumed that it will be found.

This was originally repoted in RHUI, bug #796139

Comment 1 James Slagle 2012-02-22 16:08:16 UTC
Meant to add above that presumably the package has already been deleted by one of the other repo deletes that is running simultaneously.

Comment 2 Jason Connor 2012-04-12 21:31:36 UTC
potential fix pushed to master in
5acbed5d9ef30a7bfe382a75316d7befd673bea0

Need to know if this needs to get cherry-picked into any other branch (rhui maybe?)

Comment 3 Jeff Ortel 2012-04-12 22:59:04 UTC
build: 0.282

Comment 4 James Slagle 2012-04-13 13:34:34 UTC
yes, this needs to be cherry picked to the rhui branch.

Comment 5 Jason Connor 2012-04-13 15:13:13 UTC
pushed into rhui in commit
57e85236ce2dd87d1452773826d7c52e99bb2e9a

Comment 6 Preethi Thomas 2012-04-23 19:45:08 UTC
[root@pulp-v1-1-server ~]# rpm -q pulp
pulp-1.1.3-1.fc16.noarch
[root@pulp-v1-1-server ~]# 

[root@pulp-v1-1-server ~]# ./delete-repo.sh 
Repository [ pulp1 ] being deleted

Repository [ pulp2 ] being deleted

Repository [ pulp3 ] being deleted

Repository [ pulp4 ] being deleted

Repository [ pulp5 ] being deleted

Repository [ pulp6 ] being deleted

Repository [ pulp7 ] being deleted

Repository [ f16 ] being deleted

Repository [ local-1 ] being deleted

Repository [ pulp8 ] being deleted

Repository [ pulp9 ] being deleted

Repository [ pulp10 ] being deleted

Repository [ test ] being deleted

Repository [ testrepo ] being deleted

[root@pulp-v1-1-server ~]#

Comment 7 Preethi Thomas 2012-05-25 14:13:11 UTC
Pulp v1.1 Release