{"action":"created","issue":{"url":"https://api.github.com/repos/NCAR/ParallelIO/issues/99","repository_url":"https://api.github.com/repos/NCAR/ParallelIO","labels_url":"https://api.github.com/repos/NCAR/ParallelIO/issues/99/labels{/name}","comments_url":"https://api.github.com/repos/NCAR/ParallelIO/issues/99/comments","events_url":"https://api.github.com/repos/NCAR/ParallelIO/issues/99/events","html_url":"https://github.com/NCAR/ParallelIO/issues/99","id":173531394,"number":99,"title":"Fixing \"duplicate\" files in PIO global file list","user":{"login":"jayeshkrishna","id":7873429,"avatar_url":"https://avatars.githubusercontent.com/u/7873429?v=3","gravatar_id":"","url":"https://api.github.com/users/jayeshkrishna","html_url":"https://github.com/jayeshkrishna","followers_url":"https://api.github.com/users/jayeshkrishna/followers","following_url":"https://api.github.com/users/jayeshkrishna/following{/other_user}","gists_url":"https://api.github.com/users/jayeshkrishna/gists{/gist_id}","starred_url":"https://api.github.com/users/jayeshkrishna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jayeshkrishna/subscriptions","organizations_url":"https://api.github.com/users/jayeshkrishna/orgs","repos_url":"https://api.github.com/users/jayeshkrishna/repos","events_url":"https://api.github.com/users/jayeshkrishna/events{/privacy}","received_events_url":"https://api.github.com/users/jayeshkrishna/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/NCAR/ParallelIO/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":{"login":"jayeshkrishna","id":7873429,"avatar_url":"https://avatars.githubusercontent.com/u/7873429?v=3","gravatar_id":"","url":"https://api.github.com/users/jayeshkrishna","html_url":"https://github.com/jayeshkrishna","followers_url":"https://api.github.com/users/jayeshkrishna/followers","following_url":"https://api.github.com/users/jayeshkrishna/following{/other_user}","gists_url":"https://api.github.com/users/jayeshkrishna/gists{/gist_id}","starred_url":"https://api.github.com/users/jayeshkrishna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jayeshkrishna/subscriptions","organizations_url":"https://api.github.com/users/jayeshkrishna/orgs","repos_url":"https://api.github.com/users/jayeshkrishna/repos","events_url":"https://api.github.com/users/jayeshkrishna/events{/privacy}","received_events_url":"https://api.github.com/users/jayeshkrishna/received_events","type":"User","site_admin":false},"assignees":[{"login":"jayeshkrishna","id":7873429,"avatar_url":"https://avatars.githubusercontent.com/u/7873429?v=3","gravatar_id":"","url":"https://api.github.com/users/jayeshkrishna","html_url":"https://github.com/jayeshkrishna","followers_url":"https://api.github.com/users/jayeshkrishna/followers","following_url":"https://api.github.com/users/jayeshkrishna/following{/other_user}","gists_url":"https://api.github.com/users/jayeshkrishna/gists{/gist_id}","starred_url":"https://api.github.com/users/jayeshkrishna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jayeshkrishna/subscriptions","organizations_url":"https://api.github.com/users/jayeshkrishna/orgs","repos_url":"https://api.github.com/users/jayeshkrishna/repos","events_url":"https://api.github.com/users/jayeshkrishna/events{/privacy}","received_events_url":"https://api.github.com/users/jayeshkrishna/received_events","type":"User","site_admin":false}],"milestone":null,"comments":27,"created_at":"2016-08-26T19:57:56Z","updated_at":"2016-09-19T18:48:15Z","closed_at":null,"body":"PIO uses a global file list, pio_file_list (pio_lists.c), to keep track of \r\nfiles. This list is currently indexed using the file id (file handle) and \r\nthe current code implicitly assumes that file handles for files are\r\nunique globally (across all MPI processes).\r\nHowever this assumption is not true when performing file operations\r\nacross multiple communicators (PIO iosystems). This issue results\r\nin duplicate (same file id) file_desc_t entries in the global file list\r\nin certain scenarios."},"comment":{"url":"https://api.github.com/repos/NCAR/ParallelIO/issues/comments/248085335","html_url":"https://github.com/NCAR/ParallelIO/issues/99#issuecomment-248085335","issue_url":"https://api.github.com/repos/NCAR/ParallelIO/issues/99","id":248085335,"user":{"login":"edhartnett","id":4533212,"avatar_url":"https://avatars.githubusercontent.com/u/4533212?v=3","gravatar_id":"","url":"https://api.github.com/users/edhartnett","html_url":"https://github.com/edhartnett","followers_url":"https://api.github.com/users/edhartnett/followers","following_url":"https://api.github.com/users/edhartnett/following{/other_user}","gists_url":"https://api.github.com/users/edhartnett/gists{/gist_id}","starred_url":"https://api.github.com/users/edhartnett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edhartnett/subscriptions","organizations_url":"https://api.github.com/users/edhartnett/orgs","repos_url":"https://api.github.com/users/edhartnett/repos","events_url":"https://api.github.com/users/edhartnett/events{/privacy}","received_events_url":"https://api.github.com/users/edhartnett/received_events","type":"User","site_admin":false},"created_at":"2016-09-19T18:48:15Z","updated_at":"2016-09-19T18:48:15Z","body":"If we add a new field to file_desc_t, int pio_ncid, which is our internally generated ncid, then we change pio_get_file_from_id() to use pio_ncid, instead of fh, to identify the file,\r\n\r\nThen we add a global int in pio_lists.c called current_pio_ncid, initializing it to 1. As files are opened, we assign current_pio_ncid++ to the pio_ncid of the file_desc_t struct.\r\n\r\nThis means that all tasks would get the same ncid. Internally the fh may be different on different processes if that is how pnetcdf wants to roll. Each process will use the fh it got from the base library, whatever that might be.\r\n\r\nThe iosystemid is already in the file_desc_t struct, so isn't that all we need? Or am I missing something?"}}
{"actor":{"display_login":"edhartnett"}}