{"action":"created","comment":{"url":"https://api.github.com/repos/netty/netty/pulls/comments/88362024","pull_request_review_id":8938472,"id":88362024,"diff_hunk":"@@ -124,4 +132,169 @@ public final ByteBuf retainedSlice() {\n         final int index = readerIndex();\n         return retainedSlice(index, writerIndex() - index);\n     }\n+\n+    @Override\n+    public ByteBuf slice(int index, int length) {\n+        // All reference count methods should be inherited from this object (this is the \"parent\").\n+        return new PooledNonRetainedSlicedByteBuf(this, unwrap(), index, length);\n+    }\n+\n+    final ByteBuf duplicate0() {\n+        // All reference count methods should be inherited from this object (this is the \"parent\").\n+        return new PooledNonRetainedDuplicateByteBuf(this, unwrap());\n+    }\n+\n+    private static final class PooledNonRetainedDuplicateByteBuf extends UnpooledDuplicatedByteBuf {\n+        private final ReferenceCounted referenceCountDelegate;\n+\n+        PooledNonRetainedDuplicateByteBuf(ReferenceCounted referenceCountDelegate, AbstractByteBuf buffer) {\n+            super(buffer);\n+            this.referenceCountDelegate = referenceCountDelegate;\n+        }\n+\n+        @Override\n+        int refCnt0() {\n+            return referenceCountDelegate.refCnt();\n+        }\n+\n+        @Override\n+        ByteBuf retain0() {\n+            referenceCountDelegate.retain();\n+            return this;\n+        }\n+\n+        @Override\n+        ByteBuf retain0(int increment) {\n+            referenceCountDelegate.retain(increment);\n+            return this;\n+        }\n+\n+        @Override\n+        ByteBuf touch0() {\n+            referenceCountDelegate.touch();\n+            return this;\n+        }\n+\n+        @Override\n+        ByteBuf touch0(Object hint) {\n+            referenceCountDelegate.touch(hint);\n+            return this;\n+        }\n+\n+        @Override\n+        boolean release0() {\n+            return referenceCountDelegate.release();\n+        }\n+\n+        @Override\n+        boolean release0(int decrement) {\n+            return referenceCountDelegate.release(decrement);\n+        }\n+\n+        @Override\n+        public ByteBuf duplicate() {\n+            return new PooledNonRetainedDuplicateByteBuf(referenceCountDelegate, this);\n+        }\n+\n+        @Override\n+        public ByteBuf retainedDuplicate() {\n+            return PooledDuplicatedByteBuf.newInstance(unwrap(), this, readerIndex(), writerIndex());\n+        }\n+\n+        @Override\n+        public ByteBuf slice(int index, int length) {\n+            checkIndex0(index, length);\n+            return new PooledNonRetainedSlicedByteBuf(referenceCountDelegate, unwrap(), index, length);\n+        }\n+\n+        @Override\n+        public ByteBuf retainedSlice() {\n+            // Capacity is not allowed to change for a sliced ByteBuf, so length == capacity()\n+            return retainedSlice(readerIndex(), capacity());\n+        }\n+\n+        @Override\n+        public ByteBuf retainedSlice(int index, int length) {\n+            return PooledSlicedByteBuf.newInstance(unwrap(), this, index, length);\n+        }\n+    }\n+\n+    private static final class PooledNonRetainedSlicedByteBuf extends UnpooledSlicedByteBuf {\n+        private final ReferenceCounted referenceCountDelegate;\n+\n+        PooledNonRetainedSlicedByteBuf(ReferenceCounted referenceCountDelegate,\n+                                       AbstractByteBuf buffer, int index, int length) {\n+            super(buffer, index, length);\n+            this.referenceCountDelegate = referenceCountDelegate;\n+        }\n+\n+        @Override\n+        int refCnt0() {\n+            return referenceCountDelegate.refCnt();\n+        }\n+\n+        @Override\n+        ByteBuf retain0() {\n+            referenceCountDelegate.retain();\n+            return this;\n+        }\n+\n+        @Override\n+        ByteBuf retain0(int increment) {\n+            referenceCountDelegate.retain(increment);\n+            return this;\n+        }\n+\n+        @Override\n+        ByteBuf touch0() {\n+            referenceCountDelegate.touch();\n+            return this;\n+        }\n+\n+        @Override\n+        ByteBuf touch0(Object hint) {\n+            referenceCountDelegate.touch(hint);\n+            return this;\n+        }\n+\n+        @Override\n+        boolean release0() {\n+            return referenceCountDelegate.release();\n+        }\n+\n+        @Override\n+        boolean release0(int decrement) {\n+            return referenceCountDelegate.release(decrement);\n+        }\n+\n+        @Override\n+        public ByteBuf duplicate() {\n+            // Capacity is not allowed to change for a sliced ByteBuf, so length == capacity()\n+            final ByteBuf duplicate = slice(0, capacity());\n+            duplicate.setIndex(readerIndex(), writerIndex());\n+            return duplicate;\n+        }\n+\n+        @Override\n+        public ByteBuf retainedDuplicate() {\n+            return PooledDuplicatedByteBuf.newInstance(unwrap(), this, readerIndex(), writerIndex());","path":"buffer/src/main/java/io/netty/buffer/AbstractPooledDerivedByteBuf.java","position":139,"original_position":218,"commit_id":"448ff0ac4cb955dfa77588a3a8d18ce3af18efa3","original_commit_id":"448ff0ac4cb955dfa77588a3a8d18ce3af18efa3","user":{"login":"Scottmitch","id":7562868,"avatar_url":"https://avatars.githubusercontent.com/u/7562868?v=3","gravatar_id":"","url":"https://api.github.com/users/Scottmitch","html_url":"https://github.com/Scottmitch","followers_url":"https://api.github.com/users/Scottmitch/followers","following_url":"https://api.github.com/users/Scottmitch/following{/other_user}","gists_url":"https://api.github.com/users/Scottmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/Scottmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Scottmitch/subscriptions","organizations_url":"https://api.github.com/users/Scottmitch/orgs","repos_url":"https://api.github.com/users/Scottmitch/repos","events_url":"https://api.github.com/users/Scottmitch/events{/privacy}","received_events_url":"https://api.github.com/users/Scottmitch/received_events","type":"User","site_admin":false},"body":"the inner class is now static so this should be marked as resolved.","created_at":"2016-11-17T00:20:50Z","updated_at":"2016-11-17T00:20:50Z","html_url":"https://github.com/netty/netty/pull/6024#discussion_r88362024","pull_request_url":"https://api.github.com/repos/netty/netty/pulls/6024","_links":{"self":{"href":"https://api.github.com/repos/netty/netty/pulls/comments/88362024"},"html":{"href":"https://github.com/netty/netty/pull/6024#discussion_r88362024"},"pull_request":{"href":"https://api.github.com/repos/netty/netty/pulls/6024"}}},"pull_request":{"url":"https://api.github.com/repos/netty/netty/pulls/6024","id":93851711,"html_url":"https://github.com/netty/netty/pull/6024","diff_url":"https://github.com/netty/netty/pull/6024.diff","patch_url":"https://github.com/netty/netty/pull/6024.patch","issue_url":"https://api.github.com/repos/netty/netty/issues/6024","number":6024,"state":"open","locked":false,"title":"retained[Slice|Duplicate] buffer reference count bug","user":{"login":"Scottmitch","id":7562868,"avatar_url":"https://avatars.githubusercontent.com/u/7562868?v=3","gravatar_id":"","url":"https://api.github.com/users/Scottmitch","html_url":"https://github.com/Scottmitch","followers_url":"https://api.github.com/users/Scottmitch/followers","following_url":"https://api.github.com/users/Scottmitch/following{/other_user}","gists_url":"https://api.github.com/users/Scottmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/Scottmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Scottmitch/subscriptions","organizations_url":"https://api.github.com/users/Scottmitch/orgs","repos_url":"https://api.github.com/users/Scottmitch/repos","events_url":"https://api.github.com/users/Scottmitch/events{/privacy}","received_events_url":"https://api.github.com/users/Scottmitch/received_events","type":"User","site_admin":false},"body":"Motivation:\r\nCurrently the ByteBuf created as a result of retained[Slice|Duplicate] maintains its own reference count, and when this reference count is depleated it will release the ByteBuf returned from unwrap(). The unwrap() buffer is designed to be the 'root parent' and will skip all intermediate layers of buffers. If the intermediate layers of buffers contain a retained[Slice|Duplicate] then these reference counts will be ignored during deallocation. This may lead to deallocating the 'root parent' before all derived pooled buffers are actually released. This same issue holds if a retained[Slice|Duplicate] is in the heirachy and a 'regular' slice() or duplicate() buffer is created.\r\n\r\nModifications:\r\n- AbstractPooledDerivedByteBuf must maintain a reference to the direct parent (the buffer which retained[Slice|Duplicate] was called on) and release on this buffer instead of the 'root parent' returned by unwrap()\r\n- slice() and duplicate() buffers created from AbstractPooledDerivedByteBuf must also delegate reference count operations to their immediate parent (or first ancestor which maintains an independent reference count).\r\n\r\nResult:\r\nFixes #5999","created_at":"2016-11-15T21:28:22Z","updated_at":"2016-11-17T00:20:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"12fc4c2fa588a38a9aa94285d174c7b6b0c202a9","assignee":{"login":"Scottmitch","id":7562868,"avatar_url":"https://avatars.githubusercontent.com/u/7562868?v=3","gravatar_id":"","url":"https://api.github.com/users/Scottmitch","html_url":"https://github.com/Scottmitch","followers_url":"https://api.github.com/users/Scottmitch/followers","following_url":"https://api.github.com/users/Scottmitch/following{/other_user}","gists_url":"https://api.github.com/users/Scottmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/Scottmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Scottmitch/subscriptions","organizations_url":"https://api.github.com/users/Scottmitch/orgs","repos_url":"https://api.github.com/users/Scottmitch/repos","events_url":"https://api.github.com/users/Scottmitch/events{/privacy}","received_events_url":"https://api.github.com/users/Scottmitch/received_events","type":"User","site_admin":false},"assignees":[{"login":"Scottmitch","id":7562868,"avatar_url":"https://avatars.githubusercontent.com/u/7562868?v=3","gravatar_id":"","url":"https://api.github.com/users/Scottmitch","html_url":"https://github.com/Scottmitch","followers_url":"https://api.github.com/users/Scottmitch/followers","following_url":"https://api.github.com/users/Scottmitch/following{/other_user}","gists_url":"https://api.github.com/users/Scottmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/Scottmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Scottmitch/subscriptions","organizations_url":"https://api.github.com/users/Scottmitch/orgs","repos_url":"https://api.github.com/users/Scottmitch/repos","events_url":"https://api.github.com/users/Scottmitch/events{/privacy}","received_events_url":"https://api.github.com/users/Scottmitch/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/netty/netty/milestones/155","html_url":"https://github.com/netty/netty/milestones/4.1.7.Final","labels_url":"https://api.github.com/repos/netty/netty/milestones/155/labels","id":2069740,"number":155,"title":"4.1.7.Final","description":"","creator":{"login":"normanmaurer","id":439362,"avatar_url":"https://avatars.githubusercontent.com/u/439362?v=3","gravatar_id":"","url":"https://api.github.com/users/normanmaurer","html_url":"https://github.com/normanmaurer","followers_url":"https://api.github.com/users/normanmaurer/followers","following_url":"https://api.github.com/users/normanmaurer/following{/other_user}","gists_url":"https://api.github.com/users/normanmaurer/gists{/gist_id}","starred_url":"https://api.github.com/users/normanmaurer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/normanmaurer/subscriptions","organizations_url":"https://api.github.com/users/normanmaurer/orgs","repos_url":"https://api.github.com/users/normanmaurer/repos","events_url":"https://api.github.com/users/normanmaurer/events{/privacy}","received_events_url":"https://api.github.com/users/normanmaurer/received_events","type":"User","site_admin":false},"open_issues":33,"closed_issues":23,"state":"open","created_at":"2016-10-14T09:12:18Z","updated_at":"2016-11-16T01:07:19Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/netty/netty/pulls/6024/commits","review_comments_url":"https://api.github.com/repos/netty/netty/pulls/6024/comments","review_comment_url":"https://api.github.com/repos/netty/netty/pulls/comments{/number}","comments_url":"https://api.github.com/repos/netty/netty/issues/6024/comments","statuses_url":"https://api.github.com/repos/netty/netty/statuses/448ff0ac4cb955dfa77588a3a8d18ce3af18efa3","head":{"label":"Scottmitch:pooled_duplicate_ref_cnt","ref":"pooled_duplicate_ref_cnt","sha":"448ff0ac4cb955dfa77588a3a8d18ce3af18efa3","user":{"login":"Scottmitch","id":7562868,"avatar_url":"https://avatars.githubusercontent.com/u/7562868?v=3","gravatar_id":"","url":"https://api.github.com/users/Scottmitch","html_url":"https://github.com/Scottmitch","followers_url":"https://api.github.com/users/Scottmitch/followers","following_url":"https://api.github.com/users/Scottmitch/following{/other_user}","gists_url":"https://api.github.com/users/Scottmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/Scottmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Scottmitch/subscriptions","organizations_url":"https://api.github.com/users/Scottmitch/orgs","repos_url":"https://api.github.com/users/Scottmitch/repos","events_url":"https://api.github.com/users/Scottmitch/events{/privacy}","received_events_url":"https://api.github.com/users/Scottmitch/received_events","type":"User","site_admin":false},"repo":{"id":21251366,"name":"netty","full_name":"Scottmitch/netty","owner":{"login":"Scottmitch","id":7562868,"avatar_url":"https://avatars.githubusercontent.com/u/7562868?v=3","gravatar_id":"","url":"https://api.github.com/users/Scottmitch","html_url":"https://github.com/Scottmitch","followers_url":"https://api.github.com/users/Scottmitch/followers","following_url":"https://api.github.com/users/Scottmitch/following{/other_user}","gists_url":"https://api.github.com/users/Scottmitch/gists{/gist_id}","starred_url":"https://api.github.com/users/Scottmitch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Scottmitch/subscriptions","organizations_url":"https://api.github.com/users/Scottmitch/orgs","repos_url":"https://api.github.com/users/Scottmitch/repos","events_url":"https://api.github.com/users/Scottmitch/events{/privacy}","received_events_url":"https://api.github.com/users/Scottmitch/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Scottmitch/netty","description":"Netty project - an event-driven asynchronous network application framework","fork":true,"url":"https://api.github.com/repos/Scottmitch/netty","forks_url":"https://api.github.com/repos/Scottmitch/netty/forks","keys_url":"https://api.github.com/repos/Scottmitch/netty/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Scottmitch/netty/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Scottmitch/netty/teams","hooks_url":"https://api.github.com/repos/Scottmitch/netty/hooks","issue_events_url":"https://api.github.com/repos/Scottmitch/netty/issues/events{/number}","events_url":"https://api.github.com/repos/Scottmitch/netty/events","assignees_url":"https://api.github.com/repos/Scottmitch/netty/assignees{/user}","branches_url":"https://api.github.com/repos/Scottmitch/netty/branches{/branch}","tags_url":"https://api.github.com/repos/Scottmitch/netty/tags","blobs_url":"https://api.github.com/repos/Scottmitch/netty/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Scottmitch/netty/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Scottmitch/netty/git/refs{/sha}","trees_url":"https://api.github.com/repos/Scottmitch/netty/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Scottmitch/netty/statuses/{sha}","languages_url":"https://api.github.com/repos/Scottmitch/netty/languages","stargazers_url":"https://api.github.com/repos/Scottmitch/netty/stargazers","contributors_url":"https://api.github.com/repos/Scottmitch/netty/contributors","subscribers_url":"https://api.github.com/repos/Scottmitch/netty/subscribers","subscription_url":"https://api.github.com/repos/Scottmitch/netty/subscription","commits_url":"https://api.github.com/repos/Scottmitch/netty/commits{/sha}","git_commits_url":"https://api.github.com/repos/Scottmitch/netty/git/commits{/sha}","comments_url":"https://api.github.com/repos/Scottmitch/netty/comments{/number}","issue_comment_url":"https://api.github.com/repos/Scottmitch/netty/issues/comments{/number}","contents_url":"https://api.github.com/repos/Scottmitch/netty/contents/{+path}","compare_url":"https://api.github.com/repos/Scottmitch/netty/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Scottmitch/netty/merges","archive_url":"https://api.github.com/repos/Scottmitch/netty/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Scottmitch/netty/downloads","issues_url":"https://api.github.com/repos/Scottmitch/netty/issues{/number}","pulls_url":"https://api.github.com/repos/Scottmitch/netty/pulls{/number}","milestones_url":"https://api.github.com/repos/Scottmitch/netty/milestones{/number}","notifications_url":"https://api.github.com/repos/Scottmitch/netty/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Scottmitch/netty/labels{/name}","releases_url":"https://api.github.com/repos/Scottmitch/netty/releases{/id}","deployments_url":"https://api.github.com/repos/Scottmitch/netty/deployments","created_at":"2014-06-26T18:56:19Z","updated_at":"2016-02-08T18:45:50Z","pushed_at":"2016-11-16T20:57:33Z","git_url":"git://github.com/Scottmitch/netty.git","ssh_url":"git@github.com:Scottmitch/netty.git","clone_url":"https://github.com/Scottmitch/netty.git","svn_url":"https://github.com/Scottmitch/netty","homepage":"http://netty.io/","size":41875,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"netty:4.1","ref":"4.1","sha":"e7631867d30e26961e121ca05f5e3c078345984f","user":{"login":"netty","id":473791,"avatar_url":"https://avatars.githubusercontent.com/u/473791?v=3","gravatar_id":"","url":"https://api.github.com/users/netty","html_url":"https://github.com/netty","followers_url":"https://api.github.com/users/netty/followers","following_url":"https://api.github.com/users/netty/following{/other_user}","gists_url":"https://api.github.com/users/netty/gists{/gist_id}","starred_url":"https://api.github.com/users/netty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/netty/subscriptions","organizations_url":"https://api.github.com/users/netty/orgs","repos_url":"https://api.github.com/users/netty/repos","events_url":"https://api.github.com/users/netty/events{/privacy}","received_events_url":"https://api.github.com/users/netty/received_events","type":"Organization","site_admin":false},"repo":{"id":1064563,"name":"netty","full_name":"netty/netty","owner":{"login":"netty","id":473791,"avatar_url":"https://avatars.githubusercontent.com/u/473791?v=3","gravatar_id":"","url":"https://api.github.com/users/netty","html_url":"https://github.com/netty","followers_url":"https://api.github.com/users/netty/followers","following_url":"https://api.github.com/users/netty/following{/other_user}","gists_url":"https://api.github.com/users/netty/gists{/gist_id}","starred_url":"https://api.github.com/users/netty/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/netty/subscriptions","organizations_url":"https://api.github.com/users/netty/orgs","repos_url":"https://api.github.com/users/netty/repos","events_url":"https://api.github.com/users/netty/events{/privacy}","received_events_url":"https://api.github.com/users/netty/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/netty/netty","description":"Netty project - an event-driven asynchronous network application framework","fork":false,"url":"https://api.github.com/repos/netty/netty","forks_url":"https://api.github.com/repos/netty/netty/forks","keys_url":"https://api.github.com/repos/netty/netty/keys{/key_id}","collaborators_url":"https://api.github.com/repos/netty/netty/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/netty/netty/teams","hooks_url":"https://api.github.com/repos/netty/netty/hooks","issue_events_url":"https://api.github.com/repos/netty/netty/issues/events{/number}","events_url":"https://api.github.com/repos/netty/netty/events","assignees_url":"https://api.github.com/repos/netty/netty/assignees{/user}","branches_url":"https://api.github.com/repos/netty/netty/branches{/branch}","tags_url":"https://api.github.com/repos/netty/netty/tags","blobs_url":"https://api.github.com/repos/netty/netty/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/netty/netty/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/netty/netty/git/refs{/sha}","trees_url":"https://api.github.com/repos/netty/netty/git/trees{/sha}","statuses_url":"https://api.github.com/repos/netty/netty/statuses/{sha}","languages_url":"https://api.github.com/repos/netty/netty/languages","stargazers_url":"https://api.github.com/repos/netty/netty/stargazers","contributors_url":"https://api.github.com/repos/netty/netty/contributors","subscribers_url":"https://api.github.com/repos/netty/netty/subscribers","subscription_url":"https://api.github.com/repos/netty/netty/subscription","commits_url":"https://api.github.com/repos/netty/netty/commits{/sha}","git_commits_url":"https://api.github.com/repos/netty/netty/git/commits{/sha}","comments_url":"https://api.github.com/repos/netty/netty/comments{/number}","issue_comment_url":"https://api.github.com/repos/netty/netty/issues/comments{/number}","contents_url":"https://api.github.com/repos/netty/netty/contents/{+path}","compare_url":"https://api.github.com/repos/netty/netty/compare/{base}...{head}","merges_url":"https://api.github.com/repos/netty/netty/merges","archive_url":"https://api.github.com/repos/netty/netty/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/netty/netty/downloads","issues_url":"https://api.github.com/repos/netty/netty/issues{/number}","pulls_url":"https://api.github.com/repos/netty/netty/pulls{/number}","milestones_url":"https://api.github.com/repos/netty/netty/milestones{/number}","notifications_url":"https://api.github.com/repos/netty/netty/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/netty/netty/labels{/name}","releases_url":"https://api.github.com/repos/netty/netty/releases{/id}","deployments_url":"https://api.github.com/repos/netty/netty/deployments","created_at":"2010-11-09T09:22:21Z","updated_at":"2016-11-16T13:31:24Z","pushed_at":"2016-11-16T21:46:19Z","git_url":"git://github.com/netty/netty.git","ssh_url":"git@github.com:netty/netty.git","clone_url":"https://github.com/netty/netty.git","svn_url":"https://github.com/netty/netty","homepage":"http://netty.io/","size":73523,"stargazers_count":8250,"watchers_count":8250,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4187,"mirror_url":null,"open_issues_count":341,"forks":4187,"open_issues":341,"watchers":8250,"default_branch":"4.1"}},"_links":{"self":{"href":"https://api.github.com/repos/netty/netty/pulls/6024"},"html":{"href":"https://github.com/netty/netty/pull/6024"},"issue":{"href":"https://api.github.com/repos/netty/netty/issues/6024"},"comments":{"href":"https://api.github.com/repos/netty/netty/issues/6024/comments"},"review_comments":{"href":"https://api.github.com/repos/netty/netty/pulls/6024/comments"},"review_comment":{"href":"https://api.github.com/repos/netty/netty/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/netty/netty/pulls/6024/commits"},"statuses":{"href":"https://api.github.com/repos/netty/netty/statuses/448ff0ac4cb955dfa77588a3a8d18ce3af18efa3"}}}}
{"actor":{"display_login":"Scottmitch"}}