{"action":"created","issue":{"url":"https://api.github.com/repos/cole-trapnell-lab/cufflinks/issues/53","repository_url":"https://api.github.com/repos/cole-trapnell-lab/cufflinks","labels_url":"https://api.github.com/repos/cole-trapnell-lab/cufflinks/issues/53/labels{/name}","comments_url":"https://api.github.com/repos/cole-trapnell-lab/cufflinks/issues/53/comments","events_url":"https://api.github.com/repos/cole-trapnell-lab/cufflinks/issues/53/events","html_url":"https://github.com/cole-trapnell-lab/cufflinks/issues/53","id":133824023,"number":53,"title":"Output directory creation can fail on lustre filesystems","user":{"login":"dctrud","id":4522799,"avatar_url":"https://avatars.githubusercontent.com/u/4522799?v=3","gravatar_id":"","url":"https://api.github.com/users/dctrud","html_url":"https://github.com/dctrud","followers_url":"https://api.github.com/users/dctrud/followers","following_url":"https://api.github.com/users/dctrud/following{/other_user}","gists_url":"https://api.github.com/users/dctrud/gists{/gist_id}","starred_url":"https://api.github.com/users/dctrud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dctrud/subscriptions","organizations_url":"https://api.github.com/users/dctrud/orgs","repos_url":"https://api.github.com/users/dctrud/repos","events_url":"https://api.github.com/users/dctrud/events{/privacy}","received_events_url":"https://api.github.com/users/dctrud/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-02-15T21:43:55Z","updated_at":"2016-08-23T20:16:20Z","closed_at":null,"body":"We are using cufflinks on an HPC system with the main project space on a lustre filesystem. We noticed cufflinks routinely failing for users when they specified an absolute path for an output directory with -o\r\n\r\nOn further investigation it appears that the `mkpath` funtion in `src/common.cpp` is recursive and calling `mkdir` at each level of the requested path, from root to tip. If a level exists it expects, and handles, an `EEXIST` error from mkdir.\r\n\r\nUnfortunately lustre can return `EPERM` for mkdir against an existing directory:\r\n\r\nhttps://jira.hpdd.intel.com/browse/LU-4185\r\n\r\nThis is a long-standing issue with lustre, which doesn't appear to be going away. We don't hit it in other software that does recursive directory creation as they generally call `stat` to find how much of the structure exists, rather than relying on `EEXIST` being returned from `mkdir`.\r\n\r\nI will patch cufflinks locally for this issue, to use stat in this manner. Would this be considered as a PR?"},"comment":{"url":"https://api.github.com/repos/cole-trapnell-lab/cufflinks/issues/comments/241862453","html_url":"https://github.com/cole-trapnell-lab/cufflinks/issues/53#issuecomment-241862453","issue_url":"https://api.github.com/repos/cole-trapnell-lab/cufflinks/issues/53","id":241862453,"user":{"login":"jrdemasi","id":18518055,"avatar_url":"https://avatars.githubusercontent.com/u/18518055?v=3","gravatar_id":"","url":"https://api.github.com/users/jrdemasi","html_url":"https://github.com/jrdemasi","followers_url":"https://api.github.com/users/jrdemasi/followers","following_url":"https://api.github.com/users/jrdemasi/following{/other_user}","gists_url":"https://api.github.com/users/jrdemasi/gists{/gist_id}","starred_url":"https://api.github.com/users/jrdemasi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrdemasi/subscriptions","organizations_url":"https://api.github.com/users/jrdemasi/orgs","repos_url":"https://api.github.com/users/jrdemasi/repos","events_url":"https://api.github.com/users/jrdemasi/events{/privacy}","received_events_url":"https://api.github.com/users/jrdemasi/received_events","type":"User","site_admin":false},"created_at":"2016-08-23T20:16:20Z","updated_at":"2016-08-23T20:16:20Z","body":"@dctrud Didn't actually read the entirety of your post, but am not going to double up on a PR if you've already patched it.  Can you let me know your progress on this? \r\n\r\nThanks!\r\n"}}
{"actor":{"display_login":"jrdemasi"}}