Bug 782844 - Adding certain packages cause an error
Summary: Adding certain packages cause an error
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Pulp
Classification: Retired
Component: user-experience
Version: 1.0.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: Pradeep Kilambi
QA Contact: Preethi Thomas
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-01-18 16:41 UTC by Ashley Penney
Modified: 2013-09-09 16:38 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:


Attachments (Terms of Use)

Description Ashley Penney 2012-01-18 16:41:42 UTC
Description of problem:

When I use add_package to sync a number of packages up from one repo to another several of the kernel related ones cause a failure:

root@per5-ops-pulp1 ~]# pulp-admin repo add_package --id=ops-unstable-rhel-5-x86_64-os -p kernel-doc-2.6.18-128.el5.noarch.rpm --source=ops-live-rhel-5-x86_64-os
error:  error: operation failed: OperationFailure: database error: $or requires nonempty array

kernel-headers-2.6.18-128.el5.x86_64.rpm also causes the same failure.  All other packages went through add_package fine (including httpd, mysql and kernel itself).

Version-Release number of selected component (if applicable):

Community release 19

How reproducible:

It fails every time.

Steps to Reproduce:
1.  Make a repo with the contents of RHEL5.
2.  Clone that repo to another with a filter to refuse kernel packages.
3.  Remove that filter and try to add_package kernel-doc and kernel-headers.
  
Actual results:

error:  error: operation failed: OperationFailure: database error: $or requires nonempty array

Expected results:

Successfully associated 1 packages to repo [ops-unstable-rhel-5-x86_64-os]

Additional info:

Comment 1 Ashley Penney 2012-01-18 16:57:12 UTC
2012-01-18 16:32:51,540 7513:140731092031232: pulp.server.util:INFO: util:451 started repo metadata update: ['createrepo', '--database', '--checksum', 'sha', '-g', '/var/lib/pulp//repos/ops-unstable-rhel-5-x86_64-os/repodata/comps-rhel5-server-core.xml', '--update', '/var/lib/pulp//repos/ops-unstable-rhel-5-x86_64-os']
2012-01-18 16:35:26,448 7513:140731092031232: pulp.server.util:INFO: util:501 createrepo on /var/lib/pulp//repos/ops-unstable-rhel-5-x86_64-os finished
2012-01-18 16:35:26,484 7513:140731092031232: pulp.server.tasking.task:INFO: task:440 Task succeeded: Task 10625f8a-41f2-11e1-a772-000c291d53ab: RepoApi._generate_metadata(ops-unstable-rhel-5-x86_64-os, )
2012-01-18 16:35:44,514 7513:140731932514048: pulp.server.webservices.controllers.services:INFO: services:164 Search [{'regex': False, 'checksum_type': 'sha256', 'filename': 'kernel-doc-2.6.18-128.el5.noarch.rpm'}]: package lookup: 0.0202300548553, repo correlation: 0.0307898521423, total: 0.0510199069977
2012-01-18 16:35:44,722 7513:140731922024192: pulp.server.webservices.controllers.services:INFO: services:164 Search [{'regex': False, 'checksum_type': 'sha256', 'filename': 'kernel-doc-2.6.18-128.el5.noarch.rpm'}]: package lookup: 0.00109696388245, repo correlation: 0.0029890537262, total: 0.00408601760864
2012-01-18 16:35:45,823 7513:140731932514048: pulp.server.api.package:INFO: package:248  results from depsolver {<YumAvailablePackageSqlite : kernel-doc-2.6.18-128.el5.noarch (0x7ffeaa314c10)>: {}}
2012-01-18 16:35:46,262 7513:140731922024192: pulp.server.webservices.controllers.decorators:ERROR: decorators:52 Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/pulp/server/webservices/controllers/decorators.py", line 48, in report_error
    return method(self, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/pulp/server/webservices/controllers/decorators.py", line 127, in _auth_decorator
    value = method(self, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/pulp/server/webservices/controllers/repositories.py", line 1678, in POST
    return action(id)
  File "/usr/lib/python2.6/site-packages/pulp/server/webservices/controllers/repositories.py", line 1457, in get_package_by_nvrea
    return self.ok(api.get_packages_by_nvrea(id, data['nvrea']))
  File "/usr/lib/python2.6/site-packages/pulp/server/api/repo.py", line 833, in get_packages_by_nvrea
    result = self.packageapi.or_query(nvreas, restrict_ids=repo_packages)
  File "/usr/lib/python2.6/site-packages/pulp/server/api/package.py", line 320, in or_query
    return list(self.collection.find(q, fields))
  File "/usr/lib64/python2.6/site-packages/pymongo/cursor.py", line 601, in next
    if len(self.__data) or self._refresh():
  File "/usr/lib64/python2.6/site-packages/pymongo/cursor.py", line 564, in _refresh
    self.__query_spec(), self.__fields))
  File "/usr/lib64/python2.6/site-packages/pymongo/cursor.py", line 533, in __send_message
    self.__tz_aware)
  File "/usr/lib64/python2.6/site-packages/pymongo/helpers.py", line 100, in _unpack_response
    error_object["$err"])
OperationFailure: database error: $or requires nonempty array

2012-01-18 16:38:01,395 7513:140731349976832: pulp.server.util:INFO: util:501 createrepo on /var/lib/pulp//repos/epel/5/i386 finished

Comment 2 Pradeep Kilambi 2012-01-19 22:29:56 UTC
commit e60df2bbb025f79e75f8049b635b597a4e1d0956

Comment 3 Jeff Ortel 2012-01-21 00:23:01 UTC
build: 0.259

Comment 4 Preethi Thomas 2012-01-27 18:44:29 UTC
[root@preethi ~]# rpm -q pulp
pulp-0.0.262-1.fc15.noarch

[root@preethi ~]# pulp-admin repo clone --id=rhel5 --clone_id=rhel5-clone --feed=parent -f blacklist -F
Repository [rhel5] is being cloned as [rhel5-clone]
Clone: Finished
Item Details: 
RPMs: 2445/2455

[root@preethi ~]# pulp-admin repo remove_filters --id=rhel5-clone  -f blacklist
Successfully removed filters ['blacklist'] from repository [rhel5-clone]

[root@preethi ~]# 
[root@preethi ~]# pulp-admin repo add_package --id=rhel5-clone -p kernel-doc-2.6.18-274.el5.noarch.rpm --source=rhel5
No dependencies to process..
Successfully associated 1 packages to repo [rhel5-clone]
Packages skipped because of filters associated to the repository : 0
Please run `pulp-admin repo generate_metadata` to update the repository metadata.

[root@preethi ~]# pulp-admin repo content --id=rhel5-clone |grep kernel
kernel-doc-2.6.18-274.el5.noarch.rpm
[root@preethi ~]# pulp-admin repo add_package --id=rhel5-clone -p kernel-devel-2.6.18-274.el5.i686.rpm --source=rhel5
No dependencies to process..
Successfully associated 1 packages to repo [rhel5-clone]
Packages skipped because of filters associated to the repository : 0
Please run `pulp-admin repo generate_metadata` to update the repository metadata.

[root@preethi ~]# pulp-admin repo content --id=rhel5-clone |grep kernelkernel-devel-2.6.18-274.el5.i686.rpm
kernel-doc-2.6.18-274.el5.noarch.rpm
[root@preethi ~]#

Comment 5 Preethi Thomas 2012-02-24 20:18:38 UTC
Pulp v1.0 is released
Closed Current Release.

Comment 6 Preethi Thomas 2012-02-24 20:19:23 UTC
Pulp v1.0 is released.


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