{"action":"created","comment":{"url":"https://api.github.com/repos/rackerlabs/atom-hopper/pulls/comments/70052906","id":70052906,"diff_hunk":"@@ -210,20 +217,36 @@ public void perform(Session liveSession) {\n \n     @Override\n     public void saveEntry(final PersistedEntry entry) {","path":"adapters/hibernate/src/main/java/org/atomhopper/hibernate/HibernateFeedRepository.java","position":81,"original_position":28,"commit_id":"6f04542fdce1ace952182623423eed7f384cbff1","original_commit_id":"fffeda7793692a1df11b930ecb042f3797a04a5d","user":{"login":"magnusr","id":5188162,"avatar_url":"https://avatars.githubusercontent.com/u/5188162?v=3","gravatar_id":"","url":"https://api.github.com/users/magnusr","html_url":"https://github.com/magnusr","followers_url":"https://api.github.com/users/magnusr/followers","following_url":"https://api.github.com/users/magnusr/following{/other_user}","gists_url":"https://api.github.com/users/magnusr/gists{/gist_id}","starred_url":"https://api.github.com/users/magnusr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magnusr/subscriptions","organizations_url":"https://api.github.com/users/magnusr/orgs","repos_url":"https://api.github.com/users/magnusr/repos","events_url":"https://api.github.com/users/magnusr/events{/privacy}","received_events_url":"https://api.github.com/users/magnusr/received_events","type":"User","site_admin":false},"body":"Fixed in 6f04542","created_at":"2016-07-08T10:09:23Z","updated_at":"2016-07-08T10:09:23Z","html_url":"https://github.com/rackerlabs/atom-hopper/pull/296#discussion_r70052906","pull_request_url":"https://api.github.com/repos/rackerlabs/atom-hopper/pulls/296","_links":{"self":{"href":"https://api.github.com/repos/rackerlabs/atom-hopper/pulls/comments/70052906"},"html":{"href":"https://github.com/rackerlabs/atom-hopper/pull/296#discussion_r70052906"},"pull_request":{"href":"https://api.github.com/repos/rackerlabs/atom-hopper/pulls/296"}}},"pull_request":{"url":"https://api.github.com/repos/rackerlabs/atom-hopper/pulls/296","id":76567051,"html_url":"https://github.com/rackerlabs/atom-hopper/pull/296","diff_url":"https://github.com/rackerlabs/atom-hopper/pull/296.diff","patch_url":"https://github.com/rackerlabs/atom-hopper/pull/296.patch","issue_url":"https://api.github.com/repos/rackerlabs/atom-hopper/issues/296","number":296,"state":"open","locked":false,"title":"Feature/concurrent category creation","user":{"login":"magnusr","id":5188162,"avatar_url":"https://avatars.githubusercontent.com/u/5188162?v=3","gravatar_id":"","url":"https://api.github.com/users/magnusr","html_url":"https://github.com/magnusr","followers_url":"https://api.github.com/users/magnusr/followers","following_url":"https://api.github.com/users/magnusr/following{/other_user}","gists_url":"https://api.github.com/users/magnusr/gists{/gist_id}","starred_url":"https://api.github.com/users/magnusr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magnusr/subscriptions","organizations_url":"https://api.github.com/users/magnusr/orgs","repos_url":"https://api.github.com/users/magnusr/repos","events_url":"https://api.github.com/users/magnusr/events{/privacy}","received_events_url":"https://api.github.com/users/magnusr/received_events","type":"User","site_admin":false},"body":"Adding multiple entries with the same new criterion fails for us with the Hibernate adapter, since each transaction sees that the criterion is missing and tries to create it, after which all but one of the transactions fail due to the criterion now being present. Retrying in case of error solves this, as each retry (if it was due to a constraint violation) should have created at least one of the categories, ensuring that we are making progress. The number of retries is limited to the number of criteria to ensure that we eventually do fail if the root cause is something else.","created_at":"2016-07-07T09:46:49Z","updated_at":"2016-07-08T10:09:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f4dc84d364d2a6fc89c8b2c9816eacf174f3d6eb","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/rackerlabs/atom-hopper/pulls/296/commits","review_comments_url":"https://api.github.com/repos/rackerlabs/atom-hopper/pulls/296/comments","review_comment_url":"https://api.github.com/repos/rackerlabs/atom-hopper/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rackerlabs/atom-hopper/issues/296/comments","statuses_url":"https://api.github.com/repos/rackerlabs/atom-hopper/statuses/6f04542fdce1ace952182623423eed7f384cbff1","head":{"label":"magnusr:feature/concurrent_category_creation","ref":"feature/concurrent_category_creation","sha":"6f04542fdce1ace952182623423eed7f384cbff1","user":{"login":"magnusr","id":5188162,"avatar_url":"https://avatars.githubusercontent.com/u/5188162?v=3","gravatar_id":"","url":"https://api.github.com/users/magnusr","html_url":"https://github.com/magnusr","followers_url":"https://api.github.com/users/magnusr/followers","following_url":"https://api.github.com/users/magnusr/following{/other_user}","gists_url":"https://api.github.com/users/magnusr/gists{/gist_id}","starred_url":"https://api.github.com/users/magnusr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magnusr/subscriptions","organizations_url":"https://api.github.com/users/magnusr/orgs","repos_url":"https://api.github.com/users/magnusr/repos","events_url":"https://api.github.com/users/magnusr/events{/privacy}","received_events_url":"https://api.github.com/users/magnusr/received_events","type":"User","site_admin":false},"repo":{"id":62793639,"name":"atom-hopper","full_name":"magnusr/atom-hopper","owner":{"login":"magnusr","id":5188162,"avatar_url":"https://avatars.githubusercontent.com/u/5188162?v=3","gravatar_id":"","url":"https://api.github.com/users/magnusr","html_url":"https://github.com/magnusr","followers_url":"https://api.github.com/users/magnusr/followers","following_url":"https://api.github.com/users/magnusr/following{/other_user}","gists_url":"https://api.github.com/users/magnusr/gists{/gist_id}","starred_url":"https://api.github.com/users/magnusr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magnusr/subscriptions","organizations_url":"https://api.github.com/users/magnusr/orgs","repos_url":"https://api.github.com/users/magnusr/repos","events_url":"https://api.github.com/users/magnusr/events{/privacy}","received_events_url":"https://api.github.com/users/magnusr/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/magnusr/atom-hopper","description":"ATOM Hopper - The Java ATOMpub Server","fork":true,"url":"https://api.github.com/repos/magnusr/atom-hopper","forks_url":"https://api.github.com/repos/magnusr/atom-hopper/forks","keys_url":"https://api.github.com/repos/magnusr/atom-hopper/keys{/key_id}","collaborators_url":"https://api.github.com/repos/magnusr/atom-hopper/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/magnusr/atom-hopper/teams","hooks_url":"https://api.github.com/repos/magnusr/atom-hopper/hooks","issue_events_url":"https://api.github.com/repos/magnusr/atom-hopper/issues/events{/number}","events_url":"https://api.github.com/repos/magnusr/atom-hopper/events","assignees_url":"https://api.github.com/repos/magnusr/atom-hopper/assignees{/user}","branches_url":"https://api.github.com/repos/magnusr/atom-hopper/branches{/branch}","tags_url":"https://api.github.com/repos/magnusr/atom-hopper/tags","blobs_url":"https://api.github.com/repos/magnusr/atom-hopper/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/magnusr/atom-hopper/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/magnusr/atom-hopper/git/refs{/sha}","trees_url":"https://api.github.com/repos/magnusr/atom-hopper/git/trees{/sha}","statuses_url":"https://api.github.com/repos/magnusr/atom-hopper/statuses/{sha}","languages_url":"https://api.github.com/repos/magnusr/atom-hopper/languages","stargazers_url":"https://api.github.com/repos/magnusr/atom-hopper/stargazers","contributors_url":"https://api.github.com/repos/magnusr/atom-hopper/contributors","subscribers_url":"https://api.github.com/repos/magnusr/atom-hopper/subscribers","subscription_url":"https://api.github.com/repos/magnusr/atom-hopper/subscription","commits_url":"https://api.github.com/repos/magnusr/atom-hopper/commits{/sha}","git_commits_url":"https://api.github.com/repos/magnusr/atom-hopper/git/commits{/sha}","comments_url":"https://api.github.com/repos/magnusr/atom-hopper/comments{/number}","issue_comment_url":"https://api.github.com/repos/magnusr/atom-hopper/issues/comments{/number}","contents_url":"https://api.github.com/repos/magnusr/atom-hopper/contents/{+path}","compare_url":"https://api.github.com/repos/magnusr/atom-hopper/compare/{base}...{head}","merges_url":"https://api.github.com/repos/magnusr/atom-hopper/merges","archive_url":"https://api.github.com/repos/magnusr/atom-hopper/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/magnusr/atom-hopper/downloads","issues_url":"https://api.github.com/repos/magnusr/atom-hopper/issues{/number}","pulls_url":"https://api.github.com/repos/magnusr/atom-hopper/pulls{/number}","milestones_url":"https://api.github.com/repos/magnusr/atom-hopper/milestones{/number}","notifications_url":"https://api.github.com/repos/magnusr/atom-hopper/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/magnusr/atom-hopper/labels{/name}","releases_url":"https://api.github.com/repos/magnusr/atom-hopper/releases{/id}","deployments_url":"https://api.github.com/repos/magnusr/atom-hopper/deployments","created_at":"2016-07-07T09:25:04Z","updated_at":"2016-07-07T09:25:06Z","pushed_at":"2016-07-08T10:08:51Z","git_url":"git://github.com/magnusr/atom-hopper.git","ssh_url":"git@github.com:magnusr/atom-hopper.git","clone_url":"https://github.com/magnusr/atom-hopper.git","svn_url":"https://github.com/magnusr/atom-hopper","homepage":"http://atomhopper.org","size":23898,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"rackerlabs:master","ref":"master","sha":"ee444fea2adc3dbba4968d56d7de1ad3ae4fad37","user":{"login":"rackerlabs","id":84293,"avatar_url":"https://avatars.githubusercontent.com/u/84293?v=3","gravatar_id":"","url":"https://api.github.com/users/rackerlabs","html_url":"https://github.com/rackerlabs","followers_url":"https://api.github.com/users/rackerlabs/followers","following_url":"https://api.github.com/users/rackerlabs/following{/other_user}","gists_url":"https://api.github.com/users/rackerlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/rackerlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rackerlabs/subscriptions","organizations_url":"https://api.github.com/users/rackerlabs/orgs","repos_url":"https://api.github.com/users/rackerlabs/repos","events_url":"https://api.github.com/users/rackerlabs/events{/privacy}","received_events_url":"https://api.github.com/users/rackerlabs/received_events","type":"Organization","site_admin":false},"repo":{"id":1981819,"name":"atom-hopper","full_name":"rackerlabs/atom-hopper","owner":{"login":"rackerlabs","id":84293,"avatar_url":"https://avatars.githubusercontent.com/u/84293?v=3","gravatar_id":"","url":"https://api.github.com/users/rackerlabs","html_url":"https://github.com/rackerlabs","followers_url":"https://api.github.com/users/rackerlabs/followers","following_url":"https://api.github.com/users/rackerlabs/following{/other_user}","gists_url":"https://api.github.com/users/rackerlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/rackerlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rackerlabs/subscriptions","organizations_url":"https://api.github.com/users/rackerlabs/orgs","repos_url":"https://api.github.com/users/rackerlabs/repos","events_url":"https://api.github.com/users/rackerlabs/events{/privacy}","received_events_url":"https://api.github.com/users/rackerlabs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rackerlabs/atom-hopper","description":"ATOM Hopper - The Java ATOMpub Server","fork":false,"url":"https://api.github.com/repos/rackerlabs/atom-hopper","forks_url":"https://api.github.com/repos/rackerlabs/atom-hopper/forks","keys_url":"https://api.github.com/repos/rackerlabs/atom-hopper/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rackerlabs/atom-hopper/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rackerlabs/atom-hopper/teams","hooks_url":"https://api.github.com/repos/rackerlabs/atom-hopper/hooks","issue_events_url":"https://api.github.com/repos/rackerlabs/atom-hopper/issues/events{/number}","events_url":"https://api.github.com/repos/rackerlabs/atom-hopper/events","assignees_url":"https://api.github.com/repos/rackerlabs/atom-hopper/assignees{/user}","branches_url":"https://api.github.com/repos/rackerlabs/atom-hopper/branches{/branch}","tags_url":"https://api.github.com/repos/rackerlabs/atom-hopper/tags","blobs_url":"https://api.github.com/repos/rackerlabs/atom-hopper/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rackerlabs/atom-hopper/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rackerlabs/atom-hopper/git/refs{/sha}","trees_url":"https://api.github.com/repos/rackerlabs/atom-hopper/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rackerlabs/atom-hopper/statuses/{sha}","languages_url":"https://api.github.com/repos/rackerlabs/atom-hopper/languages","stargazers_url":"https://api.github.com/repos/rackerlabs/atom-hopper/stargazers","contributors_url":"https://api.github.com/repos/rackerlabs/atom-hopper/contributors","subscribers_url":"https://api.github.com/repos/rackerlabs/atom-hopper/subscribers","subscription_url":"https://api.github.com/repos/rackerlabs/atom-hopper/subscription","commits_url":"https://api.github.com/repos/rackerlabs/atom-hopper/commits{/sha}","git_commits_url":"https://api.github.com/repos/rackerlabs/atom-hopper/git/commits{/sha}","comments_url":"https://api.github.com/repos/rackerlabs/atom-hopper/comments{/number}","issue_comment_url":"https://api.github.com/repos/rackerlabs/atom-hopper/issues/comments{/number}","contents_url":"https://api.github.com/repos/rackerlabs/atom-hopper/contents/{+path}","compare_url":"https://api.github.com/repos/rackerlabs/atom-hopper/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rackerlabs/atom-hopper/merges","archive_url":"https://api.github.com/repos/rackerlabs/atom-hopper/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rackerlabs/atom-hopper/downloads","issues_url":"https://api.github.com/repos/rackerlabs/atom-hopper/issues{/number}","pulls_url":"https://api.github.com/repos/rackerlabs/atom-hopper/pulls{/number}","milestones_url":"https://api.github.com/repos/rackerlabs/atom-hopper/milestones{/number}","notifications_url":"https://api.github.com/repos/rackerlabs/atom-hopper/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rackerlabs/atom-hopper/labels{/name}","releases_url":"https://api.github.com/repos/rackerlabs/atom-hopper/releases{/id}","deployments_url":"https://api.github.com/repos/rackerlabs/atom-hopper/deployments","created_at":"2011-07-01T04:39:11Z","updated_at":"2016-02-15T18:22:01Z","pushed_at":"2016-07-08T10:08:51Z","git_url":"git://github.com/rackerlabs/atom-hopper.git","ssh_url":"git@github.com:rackerlabs/atom-hopper.git","clone_url":"https://github.com/rackerlabs/atom-hopper.git","svn_url":"https://github.com/rackerlabs/atom-hopper","homepage":"http://atomhopper.org","size":27647,"stargazers_count":54,"watchers_count":54,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":46,"mirror_url":null,"open_issues_count":5,"forks":46,"open_issues":5,"watchers":54,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rackerlabs/atom-hopper/pulls/296"},"html":{"href":"https://github.com/rackerlabs/atom-hopper/pull/296"},"issue":{"href":"https://api.github.com/repos/rackerlabs/atom-hopper/issues/296"},"comments":{"href":"https://api.github.com/repos/rackerlabs/atom-hopper/issues/296/comments"},"review_comments":{"href":"https://api.github.com/repos/rackerlabs/atom-hopper/pulls/296/comments"},"review_comment":{"href":"https://api.github.com/repos/rackerlabs/atom-hopper/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rackerlabs/atom-hopper/pulls/296/commits"},"statuses":{"href":"https://api.github.com/repos/rackerlabs/atom-hopper/statuses/6f04542fdce1ace952182623423eed7f384cbff1"}}}}
{"actor":{"display_login":"magnusr"}}