{"action":"closed","number":699,"pull_request":{"url":"https://api.github.com/repos/open-mpi/ompi/pulls/699","id":39534811,"html_url":"https://github.com/open-mpi/ompi/pull/699","diff_url":"https://github.com/open-mpi/ompi/pull/699.diff","patch_url":"https://github.com/open-mpi/ompi/pull/699.patch","issue_url":"https://api.github.com/repos/open-mpi/ompi/issues/699","number":699,"state":"closed","locked":false,"title":"coll/libnbc: rewrite parts of libnbc","user":{"login":"hjelmn","id":1226817,"avatar_url":"https://avatars.githubusercontent.com/u/1226817?v=3","gravatar_id":"","url":"https://api.github.com/users/hjelmn","html_url":"https://github.com/hjelmn","followers_url":"https://api.github.com/users/hjelmn/followers","following_url":"https://api.github.com/users/hjelmn/following{/other_user}","gists_url":"https://api.github.com/users/hjelmn/gists{/gist_id}","starred_url":"https://api.github.com/users/hjelmn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hjelmn/subscriptions","organizations_url":"https://api.github.com/users/hjelmn/orgs","repos_url":"https://api.github.com/users/hjelmn/repos","events_url":"https://api.github.com/users/hjelmn/events{/privacy}","received_events_url":"https://api.github.com/users/hjelmn/received_events","type":"User","site_admin":false},"body":"This commit rewrites parts of libnbc to fix issues identified by\r\ncoverity and myself. The changes are as follows:\r\n\r\n - libnbc function would return invalid error codes (internal to\r\n   libnbc) to the mpi layer. These codes names are of the form\r\n   NBC_. They do not match up with the error codes expected by the mpi\r\n   layer. I purged the use of all these error codes with the exception\r\n   of NBC_OK and NBC_CONTINUE in progress. These codes are used to\r\n   identify when a request handle is complete.\r\n\r\n - Handles and schedules were leaked by all collective routines on\r\n   error. A new routine was added to return a collective handle\r\n   (NBC_Return_handle).\r\n\r\n - Temporary buffers containting in/out neighbors for neighborhood\r\n   collectives were always leaked.\r\n\r\n - Neigborhood collectives contained code to handle MPI_IN_PLACE which\r\n   is never a valid input for the send or receive buffer. Stipped this\r\n   code out.\r\n\r\n - Files were inconsistently named. Most are nbc_isomething.c but one\r\n   was named coll_libnbc_ireduce_scatter_block.c.\r\n\r\n - Made the NBC_Schedule \"structure\" and object so it can be\r\n   retained/released. This may enable the use of schedule caching at a\r\n   later time. More testing will be needed to ensure the caching code\r\n   works. If it doesn't the code should be stripped out completely.\r\n\r\n - Added code to simply common case of scheduling send/recv +\r\n   barrier.\r\n\r\n - Code cleanup for readability.\r\n\r\nThe code now passes the clang static analyzer.\r\n\r\nSigned-off-by: Nathan Hjelm <hjelmn@lanl.gov>","created_at":"2015-07-08T23:33:58Z","updated_at":"2015-08-10T20:51:42Z","closed_at":"2015-08-10T20:51:42Z","merged_at":"2015-08-10T20:51:42Z","merge_commit_sha":"e4e57935f581015942381a6bfeaa3281d2ef7cfa","assignee":{"login":"ggouaillardet","id":7233259,"avatar_url":"https://avatars.githubusercontent.com/u/7233259?v=3","gravatar_id":"","url":"https://api.github.com/users/ggouaillardet","html_url":"https://github.com/ggouaillardet","followers_url":"https://api.github.com/users/ggouaillardet/followers","following_url":"https://api.github.com/users/ggouaillardet/following{/other_user}","gists_url":"https://api.github.com/users/ggouaillardet/gists{/gist_id}","starred_url":"https://api.github.com/users/ggouaillardet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ggouaillardet/subscriptions","organizations_url":"https://api.github.com/users/ggouaillardet/orgs","repos_url":"https://api.github.com/users/ggouaillardet/repos","events_url":"https://api.github.com/users/ggouaillardet/events{/privacy}","received_events_url":"https://api.github.com/users/ggouaillardet/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/open-mpi/ompi/pulls/699/commits","review_comments_url":"https://api.github.com/repos/open-mpi/ompi/pulls/699/comments","review_comment_url":"https://api.github.com/repos/open-mpi/ompi/pulls/comments{/number}","comments_url":"https://api.github.com/repos/open-mpi/ompi/issues/699/comments","statuses_url":"https://api.github.com/repos/open-mpi/ompi/statuses/d42e0968b156a6b66946334d69044da2a2dcc4a1","head":{"label":"hjelmn:libnbc_fixes","ref":"libnbc_fixes","sha":"d42e0968b156a6b66946334d69044da2a2dcc4a1","user":{"login":"hjelmn","id":1226817,"avatar_url":"https://avatars.githubusercontent.com/u/1226817?v=3","gravatar_id":"","url":"https://api.github.com/users/hjelmn","html_url":"https://github.com/hjelmn","followers_url":"https://api.github.com/users/hjelmn/followers","following_url":"https://api.github.com/users/hjelmn/following{/other_user}","gists_url":"https://api.github.com/users/hjelmn/gists{/gist_id}","starred_url":"https://api.github.com/users/hjelmn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hjelmn/subscriptions","organizations_url":"https://api.github.com/users/hjelmn/orgs","repos_url":"https://api.github.com/users/hjelmn/repos","events_url":"https://api.github.com/users/hjelmn/events{/privacy}","received_events_url":"https://api.github.com/users/hjelmn/received_events","type":"User","site_admin":false},"repo":{"id":24726896,"name":"ompi","full_name":"hjelmn/ompi","owner":{"login":"hjelmn","id":1226817,"avatar_url":"https://avatars.githubusercontent.com/u/1226817?v=3","gravatar_id":"","url":"https://api.github.com/users/hjelmn","html_url":"https://github.com/hjelmn","followers_url":"https://api.github.com/users/hjelmn/followers","following_url":"https://api.github.com/users/hjelmn/following{/other_user}","gists_url":"https://api.github.com/users/hjelmn/gists{/gist_id}","starred_url":"https://api.github.com/users/hjelmn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hjelmn/subscriptions","organizations_url":"https://api.github.com/users/hjelmn/orgs","repos_url":"https://api.github.com/users/hjelmn/repos","events_url":"https://api.github.com/users/hjelmn/events{/privacy}","received_events_url":"https://api.github.com/users/hjelmn/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/hjelmn/ompi","description":"Open MPI main development repository","fork":true,"url":"https://api.github.com/repos/hjelmn/ompi","forks_url":"https://api.github.com/repos/hjelmn/ompi/forks","keys_url":"https://api.github.com/repos/hjelmn/ompi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hjelmn/ompi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hjelmn/ompi/teams","hooks_url":"https://api.github.com/repos/hjelmn/ompi/hooks","issue_events_url":"https://api.github.com/repos/hjelmn/ompi/issues/events{/number}","events_url":"https://api.github.com/repos/hjelmn/ompi/events","assignees_url":"https://api.github.com/repos/hjelmn/ompi/assignees{/user}","branches_url":"https://api.github.com/repos/hjelmn/ompi/branches{/branch}","tags_url":"https://api.github.com/repos/hjelmn/ompi/tags","blobs_url":"https://api.github.com/repos/hjelmn/ompi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hjelmn/ompi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hjelmn/ompi/git/refs{/sha}","trees_url":"https://api.github.com/repos/hjelmn/ompi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hjelmn/ompi/statuses/{sha}","languages_url":"https://api.github.com/repos/hjelmn/ompi/languages","stargazers_url":"https://api.github.com/repos/hjelmn/ompi/stargazers","contributors_url":"https://api.github.com/repos/hjelmn/ompi/contributors","subscribers_url":"https://api.github.com/repos/hjelmn/ompi/subscribers","subscription_url":"https://api.github.com/repos/hjelmn/ompi/subscription","commits_url":"https://api.github.com/repos/hjelmn/ompi/commits{/sha}","git_commits_url":"https://api.github.com/repos/hjelmn/ompi/git/commits{/sha}","comments_url":"https://api.github.com/repos/hjelmn/ompi/comments{/number}","issue_comment_url":"https://api.github.com/repos/hjelmn/ompi/issues/comments{/number}","contents_url":"https://api.github.com/repos/hjelmn/ompi/contents/{+path}","compare_url":"https://api.github.com/repos/hjelmn/ompi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hjelmn/ompi/merges","archive_url":"https://api.github.com/repos/hjelmn/ompi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hjelmn/ompi/downloads","issues_url":"https://api.github.com/repos/hjelmn/ompi/issues{/number}","pulls_url":"https://api.github.com/repos/hjelmn/ompi/pulls{/number}","milestones_url":"https://api.github.com/repos/hjelmn/ompi/milestones{/number}","notifications_url":"https://api.github.com/repos/hjelmn/ompi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hjelmn/ompi/labels{/name}","releases_url":"https://api.github.com/repos/hjelmn/ompi/releases{/id}","created_at":"2014-10-02T16:27:20Z","updated_at":"2015-04-20T22:50:29Z","pushed_at":"2015-08-10T17:53:41Z","git_url":"git://github.com/hjelmn/ompi.git","ssh_url":"git@github.com:hjelmn/ompi.git","clone_url":"https://github.com/hjelmn/ompi.git","svn_url":"https://github.com/hjelmn/ompi","homepage":null,"size":79065,"stargazers_count":0,"watchers_count":0,"language":"C","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":"open-mpi:master","ref":"master","sha":"95d19af0eb4f7d0a48ab1bb01ccadc90c05e60dd","user":{"login":"open-mpi","id":2165682,"avatar_url":"https://avatars.githubusercontent.com/u/2165682?v=3","gravatar_id":"","url":"https://api.github.com/users/open-mpi","html_url":"https://github.com/open-mpi","followers_url":"https://api.github.com/users/open-mpi/followers","following_url":"https://api.github.com/users/open-mpi/following{/other_user}","gists_url":"https://api.github.com/users/open-mpi/gists{/gist_id}","starred_url":"https://api.github.com/users/open-mpi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/open-mpi/subscriptions","organizations_url":"https://api.github.com/users/open-mpi/orgs","repos_url":"https://api.github.com/users/open-mpi/repos","events_url":"https://api.github.com/users/open-mpi/events{/privacy}","received_events_url":"https://api.github.com/users/open-mpi/received_events","type":"Organization","site_admin":false},"repo":{"id":24107001,"name":"ompi","full_name":"open-mpi/ompi","owner":{"login":"open-mpi","id":2165682,"avatar_url":"https://avatars.githubusercontent.com/u/2165682?v=3","gravatar_id":"","url":"https://api.github.com/users/open-mpi","html_url":"https://github.com/open-mpi","followers_url":"https://api.github.com/users/open-mpi/followers","following_url":"https://api.github.com/users/open-mpi/following{/other_user}","gists_url":"https://api.github.com/users/open-mpi/gists{/gist_id}","starred_url":"https://api.github.com/users/open-mpi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/open-mpi/subscriptions","organizations_url":"https://api.github.com/users/open-mpi/orgs","repos_url":"https://api.github.com/users/open-mpi/repos","events_url":"https://api.github.com/users/open-mpi/events{/privacy}","received_events_url":"https://api.github.com/users/open-mpi/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/open-mpi/ompi","description":"Open MPI main development repository","fork":false,"url":"https://api.github.com/repos/open-mpi/ompi","forks_url":"https://api.github.com/repos/open-mpi/ompi/forks","keys_url":"https://api.github.com/repos/open-mpi/ompi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/open-mpi/ompi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/open-mpi/ompi/teams","hooks_url":"https://api.github.com/repos/open-mpi/ompi/hooks","issue_events_url":"https://api.github.com/repos/open-mpi/ompi/issues/events{/number}","events_url":"https://api.github.com/repos/open-mpi/ompi/events","assignees_url":"https://api.github.com/repos/open-mpi/ompi/assignees{/user}","branches_url":"https://api.github.com/repos/open-mpi/ompi/branches{/branch}","tags_url":"https://api.github.com/repos/open-mpi/ompi/tags","blobs_url":"https://api.github.com/repos/open-mpi/ompi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/open-mpi/ompi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/open-mpi/ompi/git/refs{/sha}","trees_url":"https://api.github.com/repos/open-mpi/ompi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/open-mpi/ompi/statuses/{sha}","languages_url":"https://api.github.com/repos/open-mpi/ompi/languages","stargazers_url":"https://api.github.com/repos/open-mpi/ompi/stargazers","contributors_url":"https://api.github.com/repos/open-mpi/ompi/contributors","subscribers_url":"https://api.github.com/repos/open-mpi/ompi/subscribers","subscription_url":"https://api.github.com/repos/open-mpi/ompi/subscription","commits_url":"https://api.github.com/repos/open-mpi/ompi/commits{/sha}","git_commits_url":"https://api.github.com/repos/open-mpi/ompi/git/commits{/sha}","comments_url":"https://api.github.com/repos/open-mpi/ompi/comments{/number}","issue_comment_url":"https://api.github.com/repos/open-mpi/ompi/issues/comments{/number}","contents_url":"https://api.github.com/repos/open-mpi/ompi/contents/{+path}","compare_url":"https://api.github.com/repos/open-mpi/ompi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/open-mpi/ompi/merges","archive_url":"https://api.github.com/repos/open-mpi/ompi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/open-mpi/ompi/downloads","issues_url":"https://api.github.com/repos/open-mpi/ompi/issues{/number}","pulls_url":"https://api.github.com/repos/open-mpi/ompi/pulls{/number}","milestones_url":"https://api.github.com/repos/open-mpi/ompi/milestones{/number}","notifications_url":"https://api.github.com/repos/open-mpi/ompi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/open-mpi/ompi/labels{/name}","releases_url":"https://api.github.com/repos/open-mpi/ompi/releases{/id}","created_at":"2014-09-16T16:08:30Z","updated_at":"2015-08-08T07:39:07Z","pushed_at":"2015-08-10T20:51:42Z","git_url":"git://github.com/open-mpi/ompi.git","ssh_url":"git@github.com:open-mpi/ompi.git","clone_url":"https://github.com/open-mpi/ompi.git","svn_url":"https://github.com/open-mpi/ompi","homepage":null,"size":109088,"stargazers_count":88,"watchers_count":88,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":77,"mirror_url":null,"open_issues_count":221,"forks":77,"open_issues":221,"watchers":88,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/open-mpi/ompi/pulls/699"},"html":{"href":"https://github.com/open-mpi/ompi/pull/699"},"issue":{"href":"https://api.github.com/repos/open-mpi/ompi/issues/699"},"comments":{"href":"https://api.github.com/repos/open-mpi/ompi/issues/699/comments"},"review_comments":{"href":"https://api.github.com/repos/open-mpi/ompi/pulls/699/comments"},"review_comment":{"href":"https://api.github.com/repos/open-mpi/ompi/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/open-mpi/ompi/pulls/699/commits"},"statuses":{"href":"https://api.github.com/repos/open-mpi/ompi/statuses/d42e0968b156a6b66946334d69044da2a2dcc4a1"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"hjelmn","id":1226817,"avatar_url":"https://avatars.githubusercontent.com/u/1226817?v=3","gravatar_id":"","url":"https://api.github.com/users/hjelmn","html_url":"https://github.com/hjelmn","followers_url":"https://api.github.com/users/hjelmn/followers","following_url":"https://api.github.com/users/hjelmn/following{/other_user}","gists_url":"https://api.github.com/users/hjelmn/gists{/gist_id}","starred_url":"https://api.github.com/users/hjelmn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hjelmn/subscriptions","organizations_url":"https://api.github.com/users/hjelmn/orgs","repos_url":"https://api.github.com/users/hjelmn/repos","events_url":"https://api.github.com/users/hjelmn/events{/privacy}","received_events_url":"https://api.github.com/users/hjelmn/received_events","type":"User","site_admin":false},"comments":4,"review_comments":0,"commits":1,"additions":3901,"deletions":2876,"changed_files":30}}