{"action":"created","issue":{"url":"https://api.github.com/repos/samtools/htsjdk/issues/515","repository_url":"https://api.github.com/repos/samtools/htsjdk","labels_url":"https://api.github.com/repos/samtools/htsjdk/issues/515/labels{/name}","comments_url":"https://api.github.com/repos/samtools/htsjdk/issues/515/comments","events_url":"https://api.github.com/repos/samtools/htsjdk/issues/515/events","html_url":"https://github.com/samtools/htsjdk/pull/515","id":139111255,"number":515,"title":"Fast BAM compression with igzip integrated as part of IntelDeflater","user":{"login":"mishalinaik","id":6305541,"avatar_url":"https://avatars.githubusercontent.com/u/6305541?v=3","gravatar_id":"","url":"https://api.github.com/users/mishalinaik","html_url":"https://github.com/mishalinaik","followers_url":"https://api.github.com/users/mishalinaik/followers","following_url":"https://api.github.com/users/mishalinaik/following{/other_user}","gists_url":"https://api.github.com/users/mishalinaik/gists{/gist_id}","starred_url":"https://api.github.com/users/mishalinaik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mishalinaik/subscriptions","organizations_url":"https://api.github.com/users/mishalinaik/orgs","repos_url":"https://api.github.com/users/mishalinaik/repos","events_url":"https://api.github.com/users/mishalinaik/events{/privacy}","received_events_url":"https://api.github.com/users/mishalinaik/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"akiezun","id":1993519,"avatar_url":"https://avatars.githubusercontent.com/u/1993519?v=3","gravatar_id":"","url":"https://api.github.com/users/akiezun","html_url":"https://github.com/akiezun","followers_url":"https://api.github.com/users/akiezun/followers","following_url":"https://api.github.com/users/akiezun/following{/other_user}","gists_url":"https://api.github.com/users/akiezun/gists{/gist_id}","starred_url":"https://api.github.com/users/akiezun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akiezun/subscriptions","organizations_url":"https://api.github.com/users/akiezun/orgs","repos_url":"https://api.github.com/users/akiezun/repos","events_url":"https://api.github.com/users/akiezun/events{/privacy}","received_events_url":"https://api.github.com/users/akiezun/received_events","type":"User","site_admin":false},"milestone":null,"comments":3,"created_at":"2016-03-07T22:15:43Z","updated_at":"2016-03-08T09:48:57Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/samtools/htsjdk/pulls/515","html_url":"https://github.com/samtools/htsjdk/pull/515","diff_url":"https://github.com/samtools/htsjdk/pull/515.diff","patch_url":"https://github.com/samtools/htsjdk/pull/515.patch"},"body":"### Description\r\nigzip provides fast BAM compression at level 1. This PR attempts to integrate igzip fast BAM compression as part of IntelDeflater to enable low latency BAM compression in htsjdk. PR can be summarized as follows:\r\n\r\n1)\tModified IntelDeflater.c to add support for igzip API\r\n2)     Added headers required by.igzip under src/c/inteldeflater\r\n2)\tUpdated src/c/scripts/build_intel_deflater.sh to build libIntelDeflater.so with igzip.\r\n\r\n\r\n\r\n\r\n\r\n### Checklist\r\n\r\n- Code compiles correctly\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/samtools/htsjdk/issues/comments/193692338","html_url":"https://github.com/samtools/htsjdk/pull/515#issuecomment-193692338","issue_url":"https://api.github.com/repos/samtools/htsjdk/issues/515","id":193692338,"user":{"login":"tfenne","id":1609210,"avatar_url":"https://avatars.githubusercontent.com/u/1609210?v=3","gravatar_id":"","url":"https://api.github.com/users/tfenne","html_url":"https://github.com/tfenne","followers_url":"https://api.github.com/users/tfenne/followers","following_url":"https://api.github.com/users/tfenne/following{/other_user}","gists_url":"https://api.github.com/users/tfenne/gists{/gist_id}","starred_url":"https://api.github.com/users/tfenne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tfenne/subscriptions","organizations_url":"https://api.github.com/users/tfenne/orgs","repos_url":"https://api.github.com/users/tfenne/repos","events_url":"https://api.github.com/users/tfenne/events{/privacy}","received_events_url":"https://api.github.com/users/tfenne/received_events","type":"User","site_admin":false},"created_at":"2016-03-08T09:48:57Z","updated_at":"2016-03-08T09:48:57Z","body":"I guess I'm a little curious about this. We had some discussion recently about how things work in a Java 8+ world, and whether the custom code around the IntelDeflator was still necessary now that we think the JDK delegates internally to the platform's zlib library.  Our hope had been to remove the custom code around IntelDeflator, and rely on the fact that when it was present on a system, it overrode the standard zlib, and would be picked up by default with a Java 8+ VM.\r\n\r\nSo, what I'm wondering is:\r\n\r\n1. Can we verify if that assumption is true?\r\n2. If it is, would `igzip` also be picked up automatically if present on the library path, or does this require custom hooks?\r\n3. If 1 is true, but igzip would continue to require custom hooks, is it worth the burden of maintaining custom JNI bindings?\r\n\r\nI don't mean this to be a :-1: on this PR - I don't have any experience with `igzip` or anything against it.  I'd just like to understand the implications for the IntelDeflator/JNI code in htsjdk so we can make an informed decision.\r\n"}}