Scenario: After 100x sync calls After ~5 sync status calls This is returned from the repo status API call: { "id": "eda72e2b-5f83-11e0-8992-545200104e49", "progress": { "num_success": 7, "details": { "rpm": { "num_success": 7, "num_error": 0, "size_left": 0, "total_size_bytes": 3170837, "total_count": 7, "items_left": 0 } }, "error_details": [ ], "item_name": null, "status": "FINISHED", "num_error": 0, "size_left": 0, "size_total": 3170837, "num_download": 0, "step": "Processing Errata", "items_left": 0, "items_total": 7 }, "result": null, "status_path": "/pulp/api/repositories/api_test_repo/sync/eda72e2b-5f83-11e0-8992-545200104e49/", "scheduled_time": 0, "traceback": [ "Traceback (most recent call last):\n", " File \"/usr/lib/python2.7/site-packages/pulp/server/tasking/task.py\", line 131, in run\n result = self.callable(*self.args, **self.kwargs)\n", " File \"/usr/lib/python2.7/site-packages/pulp/server/api/repo.py\", line 1524, in _sync\n self.delete_errata(id, old_errata)\n", " File \"/usr/lib/python2.7/site-packages/pulp/server/api/repo.py\", line 1104, in delete_errata\n updateinfo.generate_updateinfo(repo)\n", " File \"/usr/lib/python2.7/site-packages/pulp/server/updateinfo.py\", line 163, in generate_updateinfo\n updateinfo_path)\n", " File \"/usr/lib/python2.7/site-packages/pulp/server/util.py\", line 395, in modify_repo\n raise ModifyRepoError(out)\n", "ModifyRepoError: Traceback (most recent call last):\n File \"/usr/share/createrepo/modifyrepo.py\", line 145, in <module>\n repomd = RepoMetadata(sys.argv[2])\n File \"/usr/share/createrepo/modifyrepo.py\", line 42, in __init__\n self.doc = minidom.parse(self.repomdxml)\n File \"/usr/lib64/python2.7/xml/dom/minidom.py\", line 1911, in parse\n return expatbuilder.parse(file)\n File \"/usr/lib64/python2.7/xml/dom/expatbuilder.py\", line 924, in parse\n result = builder.parseFile(fp)\n File \"/usr/lib64/python2.7/xml/dom/expatbuilder.py\", line 207, in parseFile\n parser.Parse(buffer, 0)\nxml.parsers.expat.ExpatError: not well-formed (invalid token): line 21, column 273\n" ], "finish_time": "1302008107", "exception": "ModifyRepoError()", "state": "error", "method_name": "_sync", "start_time": "1302008105" }
Initial guess is that a sync is running and trying to parse data when create repo hasn't completed writing it's output.
Issue described here was related to multiple syncs operating at the same time on the same exact repo. We do not want to allow that behavior. Below commit will limit only 1 sync per repo at the same time. http://git.fedorahosted.org/git/?p=pulp.git;a=commitdiff;h=33ef2654804e6f9a0b2bbd575e493f9a9e206f1a
build: 0.162
Fixed in build 0.163.
Changes to restrict one active sync per repo at any given time render this a non-issue.
Closing with Community Release 15 pulp-0.0.223-4.