{"action":"created","issue":{"url":"https://api.github.com/repos/eclipse/rdf4j/issues/694","repository_url":"https://api.github.com/repos/eclipse/rdf4j","labels_url":"https://api.github.com/repos/eclipse/rdf4j/issues/694/labels{/name}","comments_url":"https://api.github.com/repos/eclipse/rdf4j/issues/694/comments","events_url":"https://api.github.com/repos/eclipse/rdf4j/issues/694/events","html_url":"https://github.com/eclipse/rdf4j/pull/694","id":195139869,"number":694,"title":"Fix #693: sailsourcemodel concurrency","user":{"login":"jeenbroekstra","id":728776,"avatar_url":"https://avatars.githubusercontent.com/u/728776?v=3","gravatar_id":"","url":"https://api.github.com/users/jeenbroekstra","html_url":"https://github.com/jeenbroekstra","followers_url":"https://api.github.com/users/jeenbroekstra/followers","following_url":"https://api.github.com/users/jeenbroekstra/following{/other_user}","gists_url":"https://api.github.com/users/jeenbroekstra/gists{/gist_id}","starred_url":"https://api.github.com/users/jeenbroekstra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeenbroekstra/subscriptions","organizations_url":"https://api.github.com/users/jeenbroekstra/orgs","repos_url":"https://api.github.com/users/jeenbroekstra/repos","events_url":"https://api.github.com/users/jeenbroekstra/events{/privacy}","received_events_url":"https://api.github.com/users/jeenbroekstra/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2016-12-13T02:04:20Z","updated_at":"2016-12-15T01:57:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/eclipse/rdf4j/pulls/694","html_url":"https://github.com/eclipse/rdf4j/pull/694","diff_url":"https://github.com/eclipse/rdf4j/pull/694.diff","patch_url":"https://github.com/eclipse/rdf4j/pull/694.patch"},"body":"This PR addresses GitHub issue: #693 .\r\n\r\nBriefly describe the changes proposed in this PR:\r\n\r\n* made all public access methods on SailSourceModel synchronized\r\n* added a compliance test that verifies large concurrent transactions do not cause errors or inconsistencies\r\n\r\nNote that due to the nature of the problem, the added test may fail/succeed intermittently rather than consistently. I have, when running locally, been able to reproduce the error every two runs of the test, on average, and get consistent succes after applying the synchronization fixes.\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/eclipse/rdf4j/issues/comments/267214838","html_url":"https://github.com/eclipse/rdf4j/pull/694#issuecomment-267214838","issue_url":"https://api.github.com/repos/eclipse/rdf4j/issues/694","id":267214838,"user":{"login":"jeenbroekstra","id":728776,"avatar_url":"https://avatars.githubusercontent.com/u/728776?v=3","gravatar_id":"","url":"https://api.github.com/users/jeenbroekstra","html_url":"https://github.com/jeenbroekstra","followers_url":"https://api.github.com/users/jeenbroekstra/followers","following_url":"https://api.github.com/users/jeenbroekstra/following{/other_user}","gists_url":"https://api.github.com/users/jeenbroekstra/gists{/gist_id}","starred_url":"https://api.github.com/users/jeenbroekstra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeenbroekstra/subscriptions","organizations_url":"https://api.github.com/users/jeenbroekstra/orgs","repos_url":"https://api.github.com/users/jeenbroekstra/repos","events_url":"https://api.github.com/users/jeenbroekstra/events{/privacy}","received_events_url":"https://api.github.com/users/jeenbroekstra/received_events","type":"User","site_admin":false},"created_at":"2016-12-15T01:57:51Z","updated_at":"2016-12-15T01:57:51Z","body":"@ansell. Nothing. This is merely my first attempt to simplify things. You gotta wonder about the fact that with all the locking removed, suddenly all our tests (including those with concurrent modifications) succeed. But I'm looking at hardening it further with a new, simpler ReentrantLock strategy. Stay tuned. "}}
{"actor":{"display_login":"jeenbroekstra"}}