{"action":"closed","number":513,"pull_request":{"url":"https://api.github.com/repos/h2database/h2database/pulls/513","id":121151823,"html_url":"https://github.com/h2database/h2database/pull/513","diff_url":"https://github.com/h2database/h2database/pull/513.diff","patch_url":"https://github.com/h2database/h2database/pull/513.patch","issue_url":"https://api.github.com/repos/h2database/h2database/issues/513","number":513,"state":"closed","locked":false,"title":"Issue #499, take two: fix for \"Unique index or primary key violation\" in TestMvccMultiThrea…","user":{"login":"andreitokar","id":8950218,"avatar_url":"https://avatars1.githubusercontent.com/u/8950218?v=3","gravatar_id":"","url":"https://api.github.com/users/andreitokar","html_url":"https://github.com/andreitokar","followers_url":"https://api.github.com/users/andreitokar/followers","following_url":"https://api.github.com/users/andreitokar/following{/other_user}","gists_url":"https://api.github.com/users/andreitokar/gists{/gist_id}","starred_url":"https://api.github.com/users/andreitokar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreitokar/subscriptions","organizations_url":"https://api.github.com/users/andreitokar/orgs","repos_url":"https://api.github.com/users/andreitokar/repos","events_url":"https://api.github.com/users/andreitokar/events{/privacy}","received_events_url":"https://api.github.com/users/andreitokar/received_events","type":"User","site_admin":false},"body":"In recently added TestMvccMultiThreaded2 (#499) by @danguria the following error is suppressed:\r\nERROR: error org.h2.jdbc.JdbcSQLException: \r\n\r\n`Unique index or primary key violation: \"PRIMARY KEY ON PUBLIC.TEST(ENTITY_ID)\"; SQL statement: SELECT * FROM test WHERE entity_id = ? FOR UPDATE [23505-195]`\r\n\r\nHis fix is dealing with removal values from the map during commit, but it also applicable to values update.\r\nBasically, no transaction should commit anything modified outside of it, but it does. Filtering out undoLog entries from other transactions on commit-update as well, will make an error above disappear.\r\n\r\nOne might ask: how come another transaction was able to modify entry already modified by this transaction? The answer, I think, is related to the fact that although commit is synchronized, it is still not atomic from readers point of view, therefore specific entry might have been already committed, than modified by another transaction, and then needlessly committed again, if there is another entry in undoLog exists within commiting transaction for the same key. To fix this bigger problem will probably take more than one-liner.","created_at":"2017-05-17T21:02:22Z","updated_at":"2017-05-20T14:17:18Z","closed_at":"2017-05-20T14:17:18Z","merged_at":null,"merge_commit_sha":"ec2120f187a0d650a5c1726434e7699b7dd8d22c","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/h2database/h2database/pulls/513/commits","review_comments_url":"https://api.github.com/repos/h2database/h2database/pulls/513/comments","review_comment_url":"https://api.github.com/repos/h2database/h2database/pulls/comments{/number}","comments_url":"https://api.github.com/repos/h2database/h2database/issues/513/comments","statuses_url":"https://api.github.com/repos/h2database/h2database/statuses/ca04282e089d7ea722781c78e2125be257dde22a","head":{"label":"andreitokar:issue-499-2","ref":"issue-499-2","sha":"ca04282e089d7ea722781c78e2125be257dde22a","user":{"login":"andreitokar","id":8950218,"avatar_url":"https://avatars1.githubusercontent.com/u/8950218?v=3","gravatar_id":"","url":"https://api.github.com/users/andreitokar","html_url":"https://github.com/andreitokar","followers_url":"https://api.github.com/users/andreitokar/followers","following_url":"https://api.github.com/users/andreitokar/following{/other_user}","gists_url":"https://api.github.com/users/andreitokar/gists{/gist_id}","starred_url":"https://api.github.com/users/andreitokar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreitokar/subscriptions","organizations_url":"https://api.github.com/users/andreitokar/orgs","repos_url":"https://api.github.com/users/andreitokar/repos","events_url":"https://api.github.com/users/andreitokar/events{/privacy}","received_events_url":"https://api.github.com/users/andreitokar/received_events","type":"User","site_admin":false},"repo":{"id":85433595,"name":"h2database","full_name":"andreitokar/h2database","owner":{"login":"andreitokar","id":8950218,"avatar_url":"https://avatars1.githubusercontent.com/u/8950218?v=3","gravatar_id":"","url":"https://api.github.com/users/andreitokar","html_url":"https://github.com/andreitokar","followers_url":"https://api.github.com/users/andreitokar/followers","following_url":"https://api.github.com/users/andreitokar/following{/other_user}","gists_url":"https://api.github.com/users/andreitokar/gists{/gist_id}","starred_url":"https://api.github.com/users/andreitokar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreitokar/subscriptions","organizations_url":"https://api.github.com/users/andreitokar/orgs","repos_url":"https://api.github.com/users/andreitokar/repos","events_url":"https://api.github.com/users/andreitokar/events{/privacy}","received_events_url":"https://api.github.com/users/andreitokar/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/andreitokar/h2database","description":"H2 is an embeddable RDBMS written in Java.","fork":true,"url":"https://api.github.com/repos/andreitokar/h2database","forks_url":"https://api.github.com/repos/andreitokar/h2database/forks","keys_url":"https://api.github.com/repos/andreitokar/h2database/keys{/key_id}","collaborators_url":"https://api.github.com/repos/andreitokar/h2database/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/andreitokar/h2database/teams","hooks_url":"https://api.github.com/repos/andreitokar/h2database/hooks","issue_events_url":"https://api.github.com/repos/andreitokar/h2database/issues/events{/number}","events_url":"https://api.github.com/repos/andreitokar/h2database/events","assignees_url":"https://api.github.com/repos/andreitokar/h2database/assignees{/user}","branches_url":"https://api.github.com/repos/andreitokar/h2database/branches{/branch}","tags_url":"https://api.github.com/repos/andreitokar/h2database/tags","blobs_url":"https://api.github.com/repos/andreitokar/h2database/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/andreitokar/h2database/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/andreitokar/h2database/git/refs{/sha}","trees_url":"https://api.github.com/repos/andreitokar/h2database/git/trees{/sha}","statuses_url":"https://api.github.com/repos/andreitokar/h2database/statuses/{sha}","languages_url":"https://api.github.com/repos/andreitokar/h2database/languages","stargazers_url":"https://api.github.com/repos/andreitokar/h2database/stargazers","contributors_url":"https://api.github.com/repos/andreitokar/h2database/contributors","subscribers_url":"https://api.github.com/repos/andreitokar/h2database/subscribers","subscription_url":"https://api.github.com/repos/andreitokar/h2database/subscription","commits_url":"https://api.github.com/repos/andreitokar/h2database/commits{/sha}","git_commits_url":"https://api.github.com/repos/andreitokar/h2database/git/commits{/sha}","comments_url":"https://api.github.com/repos/andreitokar/h2database/comments{/number}","issue_comment_url":"https://api.github.com/repos/andreitokar/h2database/issues/comments{/number}","contents_url":"https://api.github.com/repos/andreitokar/h2database/contents/{+path}","compare_url":"https://api.github.com/repos/andreitokar/h2database/compare/{base}...{head}","merges_url":"https://api.github.com/repos/andreitokar/h2database/merges","archive_url":"https://api.github.com/repos/andreitokar/h2database/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/andreitokar/h2database/downloads","issues_url":"https://api.github.com/repos/andreitokar/h2database/issues{/number}","pulls_url":"https://api.github.com/repos/andreitokar/h2database/pulls{/number}","milestones_url":"https://api.github.com/repos/andreitokar/h2database/milestones{/number}","notifications_url":"https://api.github.com/repos/andreitokar/h2database/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/andreitokar/h2database/labels{/name}","releases_url":"https://api.github.com/repos/andreitokar/h2database/releases{/id}","deployments_url":"https://api.github.com/repos/andreitokar/h2database/deployments","created_at":"2017-03-18T21:36:55Z","updated_at":"2017-03-18T21:37:01Z","pushed_at":"2017-05-20T13:52:09Z","git_url":"git://github.com/andreitokar/h2database.git","ssh_url":"git@github.com:andreitokar/h2database.git","clone_url":"https://github.com/andreitokar/h2database.git","svn_url":"https://github.com/andreitokar/h2database","homepage":"http://h2database.com","size":53365,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":false,"has_wiki":false,"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":"h2database:master","ref":"master","sha":"458dd3d8068a7bf78298d132ed4fe5d7556e202a","user":{"login":"h2database","id":11459762,"avatar_url":"https://avatars1.githubusercontent.com/u/11459762?v=3","gravatar_id":"","url":"https://api.github.com/users/h2database","html_url":"https://github.com/h2database","followers_url":"https://api.github.com/users/h2database/followers","following_url":"https://api.github.com/users/h2database/following{/other_user}","gists_url":"https://api.github.com/users/h2database/gists{/gist_id}","starred_url":"https://api.github.com/users/h2database/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/h2database/subscriptions","organizations_url":"https://api.github.com/users/h2database/orgs","repos_url":"https://api.github.com/users/h2database/repos","events_url":"https://api.github.com/users/h2database/events{/privacy}","received_events_url":"https://api.github.com/users/h2database/received_events","type":"Organization","site_admin":false},"repo":{"id":33745913,"name":"h2database","full_name":"h2database/h2database","owner":{"login":"h2database","id":11459762,"avatar_url":"https://avatars1.githubusercontent.com/u/11459762?v=3","gravatar_id":"","url":"https://api.github.com/users/h2database","html_url":"https://github.com/h2database","followers_url":"https://api.github.com/users/h2database/followers","following_url":"https://api.github.com/users/h2database/following{/other_user}","gists_url":"https://api.github.com/users/h2database/gists{/gist_id}","starred_url":"https://api.github.com/users/h2database/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/h2database/subscriptions","organizations_url":"https://api.github.com/users/h2database/orgs","repos_url":"https://api.github.com/users/h2database/repos","events_url":"https://api.github.com/users/h2database/events{/privacy}","received_events_url":"https://api.github.com/users/h2database/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/h2database/h2database","description":"H2 is an embeddable RDBMS written in Java.","fork":false,"url":"https://api.github.com/repos/h2database/h2database","forks_url":"https://api.github.com/repos/h2database/h2database/forks","keys_url":"https://api.github.com/repos/h2database/h2database/keys{/key_id}","collaborators_url":"https://api.github.com/repos/h2database/h2database/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/h2database/h2database/teams","hooks_url":"https://api.github.com/repos/h2database/h2database/hooks","issue_events_url":"https://api.github.com/repos/h2database/h2database/issues/events{/number}","events_url":"https://api.github.com/repos/h2database/h2database/events","assignees_url":"https://api.github.com/repos/h2database/h2database/assignees{/user}","branches_url":"https://api.github.com/repos/h2database/h2database/branches{/branch}","tags_url":"https://api.github.com/repos/h2database/h2database/tags","blobs_url":"https://api.github.com/repos/h2database/h2database/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/h2database/h2database/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/h2database/h2database/git/refs{/sha}","trees_url":"https://api.github.com/repos/h2database/h2database/git/trees{/sha}","statuses_url":"https://api.github.com/repos/h2database/h2database/statuses/{sha}","languages_url":"https://api.github.com/repos/h2database/h2database/languages","stargazers_url":"https://api.github.com/repos/h2database/h2database/stargazers","contributors_url":"https://api.github.com/repos/h2database/h2database/contributors","subscribers_url":"https://api.github.com/repos/h2database/h2database/subscribers","subscription_url":"https://api.github.com/repos/h2database/h2database/subscription","commits_url":"https://api.github.com/repos/h2database/h2database/commits{/sha}","git_commits_url":"https://api.github.com/repos/h2database/h2database/git/commits{/sha}","comments_url":"https://api.github.com/repos/h2database/h2database/comments{/number}","issue_comment_url":"https://api.github.com/repos/h2database/h2database/issues/comments{/number}","contents_url":"https://api.github.com/repos/h2database/h2database/contents/{+path}","compare_url":"https://api.github.com/repos/h2database/h2database/compare/{base}...{head}","merges_url":"https://api.github.com/repos/h2database/h2database/merges","archive_url":"https://api.github.com/repos/h2database/h2database/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/h2database/h2database/downloads","issues_url":"https://api.github.com/repos/h2database/h2database/issues{/number}","pulls_url":"https://api.github.com/repos/h2database/h2database/pulls{/number}","milestones_url":"https://api.github.com/repos/h2database/h2database/milestones{/number}","notifications_url":"https://api.github.com/repos/h2database/h2database/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/h2database/h2database/labels{/name}","releases_url":"https://api.github.com/repos/h2database/h2database/releases{/id}","deployments_url":"https://api.github.com/repos/h2database/h2database/deployments","created_at":"2015-04-10T19:09:09Z","updated_at":"2017-05-20T03:14:15Z","pushed_at":"2017-05-20T14:17:04Z","git_url":"git://github.com/h2database/h2database.git","ssh_url":"git@github.com:h2database/h2database.git","clone_url":"https://github.com/h2database/h2database.git","svn_url":"https://github.com/h2database/h2database","homepage":"http://h2database.com","size":54765,"stargazers_count":728,"watchers_count":728,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":296,"mirror_url":null,"open_issues_count":95,"forks":296,"open_issues":95,"watchers":728,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/h2database/h2database/pulls/513"},"html":{"href":"https://github.com/h2database/h2database/pull/513"},"issue":{"href":"https://api.github.com/repos/h2database/h2database/issues/513"},"comments":{"href":"https://api.github.com/repos/h2database/h2database/issues/513/comments"},"review_comments":{"href":"https://api.github.com/repos/h2database/h2database/pulls/513/comments"},"review_comment":{"href":"https://api.github.com/repos/h2database/h2database/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/h2database/h2database/pulls/513/commits"},"statuses":{"href":"https://api.github.com/repos/h2database/h2database/statuses/ca04282e089d7ea722781c78e2125be257dde22a"}},"merged":false,"mergeable":true,"rebaseable":true,"mergeable_state":"unstable","merged_by":null,"comments":1,"review_comments":0,"maintainer_can_modify":false,"commits":4,"additions":13,"deletions":19,"changed_files":2}}
{"actor":{"display_login":"andreitokar"}}