{"action":"closed","number":7909,"pull_request":{"url":"https://api.github.com/repos/Katello/katello/pulls/7909","id":242100423,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQyMTAwNDIz","html_url":"https://github.com/Katello/katello/pull/7909","diff_url":"https://github.com/Katello/katello/pull/7909.diff","patch_url":"https://github.com/Katello/katello/pull/7909.patch","issue_url":"https://api.github.com/repos/Katello/katello/issues/7909","number":7909,"state":"closed","locked":false,"title":"Fixes #25774 - Handle uniq errors when importing mod stream","user":{"login":"johnpmitsch","id":5964462,"node_id":"MDQ6VXNlcjU5NjQ0NjI=","avatar_url":"https://avatars1.githubusercontent.com/u/5964462?v=4","gravatar_id":"","url":"https://api.github.com/users/johnpmitsch","html_url":"https://github.com/johnpmitsch","followers_url":"https://api.github.com/users/johnpmitsch/followers","following_url":"https://api.github.com/users/johnpmitsch/following{/other_user}","gists_url":"https://api.github.com/users/johnpmitsch/gists{/gist_id}","starred_url":"https://api.github.com/users/johnpmitsch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnpmitsch/subscriptions","organizations_url":"https://api.github.com/users/johnpmitsch/orgs","repos_url":"https://api.github.com/users/johnpmitsch/repos","events_url":"https://api.github.com/users/johnpmitsch/events{/privacy}","received_events_url":"https://api.github.com/users/johnpmitsch/received_events","type":"User","site_admin":false},"body":"I believe the associated bug is a race condition because I can't\r\nreproduce it syncing the same repos. If this is a race condition, the\r\nactive_record_retry method will help prevent errors by rescuing the\r\nunique errors raised and retrying the transaction.\r\n\r\nI also updated the tests to create multiple records for profiles\r\nand artifacts. It also looks like the tests weren't working as\r\nintended previously, they should be fixed now.","created_at":"2019-01-03T20:20:00Z","updated_at":"2019-01-03T21:33:47Z","closed_at":"2019-01-03T21:33:47Z","merged_at":"2019-01-03T21:33:47Z","merge_commit_sha":"55ab54799e4bf0454c89accc4ed30206bc2219df","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":117819343,"node_id":"MDU6TGFiZWwxMTc4MTkzNDM=","url":"https://api.github.com/repos/Katello/katello/labels/Needs%20testing","name":"Needs testing","color":"fbca04","default":false},{"id":117819415,"node_id":"MDU6TGFiZWwxMTc4MTk0MTU=","url":"https://api.github.com/repos/Katello/katello/labels/Not%20yet%20reviewed","name":"Not yet reviewed","color":"009800","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/Katello/katello/pulls/7909/commits","review_comments_url":"https://api.github.com/repos/Katello/katello/pulls/7909/comments","review_comment_url":"https://api.github.com/repos/Katello/katello/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Katello/katello/issues/7909/comments","statuses_url":"https://api.github.com/repos/Katello/katello/statuses/c58f0a7526c3a07c584e13e526a27adedd308b3d","head":{"label":"johnpmitsch:1660497_mod_stream_race_cond","ref":"1660497_mod_stream_race_cond","sha":"c58f0a7526c3a07c584e13e526a27adedd308b3d","user":{"login":"johnpmitsch","id":5964462,"node_id":"MDQ6VXNlcjU5NjQ0NjI=","avatar_url":"https://avatars1.githubusercontent.com/u/5964462?v=4","gravatar_id":"","url":"https://api.github.com/users/johnpmitsch","html_url":"https://github.com/johnpmitsch","followers_url":"https://api.github.com/users/johnpmitsch/followers","following_url":"https://api.github.com/users/johnpmitsch/following{/other_user}","gists_url":"https://api.github.com/users/johnpmitsch/gists{/gist_id}","starred_url":"https://api.github.com/users/johnpmitsch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnpmitsch/subscriptions","organizations_url":"https://api.github.com/users/johnpmitsch/orgs","repos_url":"https://api.github.com/users/johnpmitsch/repos","events_url":"https://api.github.com/users/johnpmitsch/events{/privacy}","received_events_url":"https://api.github.com/users/johnpmitsch/received_events","type":"User","site_admin":false},"repo":{"id":35971034,"node_id":"MDEwOlJlcG9zaXRvcnkzNTk3MTAzNA==","name":"katello","full_name":"johnpmitsch/katello","private":false,"owner":{"login":"johnpmitsch","id":5964462,"node_id":"MDQ6VXNlcjU5NjQ0NjI=","avatar_url":"https://avatars1.githubusercontent.com/u/5964462?v=4","gravatar_id":"","url":"https://api.github.com/users/johnpmitsch","html_url":"https://github.com/johnpmitsch","followers_url":"https://api.github.com/users/johnpmitsch/followers","following_url":"https://api.github.com/users/johnpmitsch/following{/other_user}","gists_url":"https://api.github.com/users/johnpmitsch/gists{/gist_id}","starred_url":"https://api.github.com/users/johnpmitsch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnpmitsch/subscriptions","organizations_url":"https://api.github.com/users/johnpmitsch/orgs","repos_url":"https://api.github.com/users/johnpmitsch/repos","events_url":"https://api.github.com/users/johnpmitsch/events{/privacy}","received_events_url":"https://api.github.com/users/johnpmitsch/received_events","type":"User","site_admin":false},"html_url":"https://github.com/johnpmitsch/katello","description":"Katello integrates open source systems management tools into a single solution for controlling the lifecycle of your machines.","fork":true,"url":"https://api.github.com/repos/johnpmitsch/katello","forks_url":"https://api.github.com/repos/johnpmitsch/katello/forks","keys_url":"https://api.github.com/repos/johnpmitsch/katello/keys{/key_id}","collaborators_url":"https://api.github.com/repos/johnpmitsch/katello/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/johnpmitsch/katello/teams","hooks_url":"https://api.github.com/repos/johnpmitsch/katello/hooks","issue_events_url":"https://api.github.com/repos/johnpmitsch/katello/issues/events{/number}","events_url":"https://api.github.com/repos/johnpmitsch/katello/events","assignees_url":"https://api.github.com/repos/johnpmitsch/katello/assignees{/user}","branches_url":"https://api.github.com/repos/johnpmitsch/katello/branches{/branch}","tags_url":"https://api.github.com/repos/johnpmitsch/katello/tags","blobs_url":"https://api.github.com/repos/johnpmitsch/katello/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/johnpmitsch/katello/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/johnpmitsch/katello/git/refs{/sha}","trees_url":"https://api.github.com/repos/johnpmitsch/katello/git/trees{/sha}","statuses_url":"https://api.github.com/repos/johnpmitsch/katello/statuses/{sha}","languages_url":"https://api.github.com/repos/johnpmitsch/katello/languages","stargazers_url":"https://api.github.com/repos/johnpmitsch/katello/stargazers","contributors_url":"https://api.github.com/repos/johnpmitsch/katello/contributors","subscribers_url":"https://api.github.com/repos/johnpmitsch/katello/subscribers","subscription_url":"https://api.github.com/repos/johnpmitsch/katello/subscription","commits_url":"https://api.github.com/repos/johnpmitsch/katello/commits{/sha}","git_commits_url":"https://api.github.com/repos/johnpmitsch/katello/git/commits{/sha}","comments_url":"https://api.github.com/repos/johnpmitsch/katello/comments{/number}","issue_comment_url":"https://api.github.com/repos/johnpmitsch/katello/issues/comments{/number}","contents_url":"https://api.github.com/repos/johnpmitsch/katello/contents/{+path}","compare_url":"https://api.github.com/repos/johnpmitsch/katello/compare/{base}...{head}","merges_url":"https://api.github.com/repos/johnpmitsch/katello/merges","archive_url":"https://api.github.com/repos/johnpmitsch/katello/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/johnpmitsch/katello/downloads","issues_url":"https://api.github.com/repos/johnpmitsch/katello/issues{/number}","pulls_url":"https://api.github.com/repos/johnpmitsch/katello/pulls{/number}","milestones_url":"https://api.github.com/repos/johnpmitsch/katello/milestones{/number}","notifications_url":"https://api.github.com/repos/johnpmitsch/katello/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/johnpmitsch/katello/labels{/name}","releases_url":"https://api.github.com/repos/johnpmitsch/katello/releases{/id}","deployments_url":"https://api.github.com/repos/johnpmitsch/katello/deployments","created_at":"2015-05-20T19:57:53Z","updated_at":"2018-07-20T14:34:48Z","pushed_at":"2019-01-03T20:19:18Z","git_url":"git://github.com/johnpmitsch/katello.git","ssh_url":"git@github.com:johnpmitsch/katello.git","clone_url":"https://github.com/johnpmitsch/katello.git","svn_url":"https://github.com/johnpmitsch/katello","homepage":"katello.org","size":96777,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"gpl-2.0","name":"GNU General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0","node_id":"MDc6TGljZW5zZTg="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Katello:master","ref":"master","sha":"bc33b8d447841d944e3c24209e60b914378da83f","user":{"login":"Katello","id":1316386,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzMTYzODY=","avatar_url":"https://avatars0.githubusercontent.com/u/1316386?v=4","gravatar_id":"","url":"https://api.github.com/users/Katello","html_url":"https://github.com/Katello","followers_url":"https://api.github.com/users/Katello/followers","following_url":"https://api.github.com/users/Katello/following{/other_user}","gists_url":"https://api.github.com/users/Katello/gists{/gist_id}","starred_url":"https://api.github.com/users/Katello/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Katello/subscriptions","organizations_url":"https://api.github.com/users/Katello/orgs","repos_url":"https://api.github.com/users/Katello/repos","events_url":"https://api.github.com/users/Katello/events{/privacy}","received_events_url":"https://api.github.com/users/Katello/received_events","type":"Organization","site_admin":false},"repo":{"id":4007018,"node_id":"MDEwOlJlcG9zaXRvcnk0MDA3MDE4","name":"katello","full_name":"Katello/katello","private":false,"owner":{"login":"Katello","id":1316386,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzMTYzODY=","avatar_url":"https://avatars0.githubusercontent.com/u/1316386?v=4","gravatar_id":"","url":"https://api.github.com/users/Katello","html_url":"https://github.com/Katello","followers_url":"https://api.github.com/users/Katello/followers","following_url":"https://api.github.com/users/Katello/following{/other_user}","gists_url":"https://api.github.com/users/Katello/gists{/gist_id}","starred_url":"https://api.github.com/users/Katello/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Katello/subscriptions","organizations_url":"https://api.github.com/users/Katello/orgs","repos_url":"https://api.github.com/users/Katello/repos","events_url":"https://api.github.com/users/Katello/events{/privacy}","received_events_url":"https://api.github.com/users/Katello/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/Katello/katello","description":"Katello integrates open source systems management tools into a single solution for controlling the lifecycle of your machines.","fork":false,"url":"https://api.github.com/repos/Katello/katello","forks_url":"https://api.github.com/repos/Katello/katello/forks","keys_url":"https://api.github.com/repos/Katello/katello/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Katello/katello/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Katello/katello/teams","hooks_url":"https://api.github.com/repos/Katello/katello/hooks","issue_events_url":"https://api.github.com/repos/Katello/katello/issues/events{/number}","events_url":"https://api.github.com/repos/Katello/katello/events","assignees_url":"https://api.github.com/repos/Katello/katello/assignees{/user}","branches_url":"https://api.github.com/repos/Katello/katello/branches{/branch}","tags_url":"https://api.github.com/repos/Katello/katello/tags","blobs_url":"https://api.github.com/repos/Katello/katello/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Katello/katello/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Katello/katello/git/refs{/sha}","trees_url":"https://api.github.com/repos/Katello/katello/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Katello/katello/statuses/{sha}","languages_url":"https://api.github.com/repos/Katello/katello/languages","stargazers_url":"https://api.github.com/repos/Katello/katello/stargazers","contributors_url":"https://api.github.com/repos/Katello/katello/contributors","subscribers_url":"https://api.github.com/repos/Katello/katello/subscribers","subscription_url":"https://api.github.com/repos/Katello/katello/subscription","commits_url":"https://api.github.com/repos/Katello/katello/commits{/sha}","git_commits_url":"https://api.github.com/repos/Katello/katello/git/commits{/sha}","comments_url":"https://api.github.com/repos/Katello/katello/comments{/number}","issue_comment_url":"https://api.github.com/repos/Katello/katello/issues/comments{/number}","contents_url":"https://api.github.com/repos/Katello/katello/contents/{+path}","compare_url":"https://api.github.com/repos/Katello/katello/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Katello/katello/merges","archive_url":"https://api.github.com/repos/Katello/katello/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Katello/katello/downloads","issues_url":"https://api.github.com/repos/Katello/katello/issues{/number}","pulls_url":"https://api.github.com/repos/Katello/katello/pulls{/number}","milestones_url":"https://api.github.com/repos/Katello/katello/milestones{/number}","notifications_url":"https://api.github.com/repos/Katello/katello/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Katello/katello/labels{/name}","releases_url":"https://api.github.com/repos/Katello/katello/releases{/id}","deployments_url":"https://api.github.com/repos/Katello/katello/deployments","created_at":"2012-04-12T16:59:08Z","updated_at":"2019-01-03T20:00:22Z","pushed_at":"2019-01-03T21:33:47Z","git_url":"git://github.com/Katello/katello.git","ssh_url":"git@github.com:Katello/katello.git","clone_url":"https://github.com/Katello/katello.git","svn_url":"https://github.com/Katello/katello","homepage":"katello.org","size":98290,"stargazers_count":253,"watchers_count":253,"language":"Ruby","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":219,"mirror_url":null,"archived":false,"open_issues_count":108,"license":{"key":"gpl-2.0","name":"GNU General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0","node_id":"MDc6TGljZW5zZTg="},"forks":219,"open_issues":108,"watchers":253,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Katello/katello/pulls/7909"},"html":{"href":"https://github.com/Katello/katello/pull/7909"},"issue":{"href":"https://api.github.com/repos/Katello/katello/issues/7909"},"comments":{"href":"https://api.github.com/repos/Katello/katello/issues/7909/comments"},"review_comments":{"href":"https://api.github.com/repos/Katello/katello/pulls/7909/comments"},"review_comment":{"href":"https://api.github.com/repos/Katello/katello/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Katello/katello/pulls/7909/commits"},"statuses":{"href":"https://api.github.com/repos/Katello/katello/statuses/c58f0a7526c3a07c584e13e526a27adedd308b3d"}},"author_association":"MEMBER","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"beav","id":563254,"node_id":"MDQ6VXNlcjU2MzI1NA==","avatar_url":"https://avatars0.githubusercontent.com/u/563254?v=4","gravatar_id":"","url":"https://api.github.com/users/beav","html_url":"https://github.com/beav","followers_url":"https://api.github.com/users/beav/followers","following_url":"https://api.github.com/users/beav/following{/other_user}","gists_url":"https://api.github.com/users/beav/gists{/gist_id}","starred_url":"https://api.github.com/users/beav/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/beav/subscriptions","organizations_url":"https://api.github.com/users/beav/orgs","repos_url":"https://api.github.com/users/beav/repos","events_url":"https://api.github.com/users/beav/events{/privacy}","received_events_url":"https://api.github.com/users/beav/received_events","type":"User","site_admin":false},"comments":6,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":14,"deletions":8,"changed_files":2}}
{"actor":{"display_login":"beav"}}