Actions
Issue #4225
closed0029_applicability_schema_change.py fails for some users
Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
-
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
3. High
Version:
Platform Release:
2.18.1
OS:
Triaged:
No
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:
Description
A user reported hitting this error:
Applying migration pulp.server.db.migrations.0029_applicability_schema_change failed.
Halting migrations due to a migration failure.
command SON([('dropIndexes', u'repo_profile_applicability'), ('index', 'profile_hash_-1_repo_id_-1')]) on namespace pulp_database.$cmd failed: index not found with name [profile_hash_-1_repo_id_-1]
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/pulp/server/db/manage.py", line 239, in main
return _auto_manage_db(options)
File "/usr/lib/python2.7/site-packages/pulp/server/db/manage.py", line 306, in _auto_manage_db
migrate_database(options)
File "/usr/lib/python2.7/site-packages/pulp/server/db/manage.py", line 135, in migrate_database
update_current_version=not options.test)
File "/usr/lib/python2.7/site-packages/pulp/server/db/migrate/models.py", line 189, in apply_migration
migration.migrate()
File "/usr/lib/python2.7/site-packages/pulp/server/db/migrations/0029_applicability_schema_change.py", line 52, in migrate
rpa_collection.drop_index("profile_hash_-1_repo_id_-1")
File "/usr/lib64/python2.7/site-packages/pymongo/collection.py", line 1456, in drop_index
allowable_errors=["ns not found"])
File "/usr/lib64/python2.7/site-packages/pymongo/collection.py", line 205, in _command
read_concern=read_concern)
File "/usr/lib64/python2.7/site-packages/pymongo/pool.py", line 211, in command
read_concern)
File "/usr/lib64/python2.7/site-packages/pymongo/network.py", line 100, in command
helpers._check_command_response(response_doc, msg, allowable_errors)
File "/usr/lib64/python2.7/site-packages/pymongo/helpers.py", line 196, in _check_command_response
raise OperationFailure(msg % errmsg, code, response)
OperationFailure: command SON([('dropIndexes', u'repo_profile_applicability'), ('index', 'profile_hash_-1_repo_id_-1')]) on namespace pulp_database.$cmd failed: index not found with name [profile_hash_-1_repo_id_-1]
I tested and couldn't reproduce. I think the difference might be mongo or pymongo versions. I was using:
python2-pymongo-gridfs-3.6.1-1.fc28.x86_64
python2-mongoengine-0.15.3-1.fc28.noarch
mongodb-server-3.6.6-1.fc28.x86_64
python2-pymongo-3.6.1-1.fc28.x86_64
mongodb-3.6.6-1.fc28.x86_64
The user was using:
python-pymongo-gridfs-3.2-2.el7.x86_64
python-pymongo-3.2-2.el7.x86_64
python-mongoengine-0.10.5-1.el7.noarch
mongodb-server-2.6.12-6.el7.x86_64
This patch seemed to fix the problem for the user:
Related issues
Actions
Don't fail migration in case there is no exception code
Not all MongoDB versions report a specific code whe index is not found.
closes #4225 https://pulp.plan.io/issues/4225