{"action":"created","comment":{"url":"https://api.github.com/repos/basho/riak_cs/pulls/comments/23066383","id":23066383,"diff_hunk":"@@ -1,3 +1,233 @@\n+# Riak CS 1.5.4 Release Notes\n+# Riak CS 1.5.4 リリースノート\n+\n+## Bugs Fixed\n+## 修正されたバグ\n+\n+- Disable previous Riak object after backpressure sleep is triggered\n+  [riak_cs/#1041](https://github.com/basho/riak_cs/pull/1041). This\n+  change prevents unnecessary siblings growth in cases where (a)\n+  backpressure is triggered under high upload concurrency and (b)\n+  uploads are interleaved during backpressure sleep. This issue does not\n+  affect multipart uploads.\n+- バックプレッシャーのスリープ起動後に取得済みのRiakオブジェクトを破棄\n+  [riak_cs/#1041](https://github.com/basho/riak_cs/pull/1041)。\n+  これは次の場合に起こり得る Sibling の増加を防ぎます。\n+  (a) 高い同時実行アップロードによるバックプレッシャーが起動しているとき、\n+  (b) バックプレッシャーによるスリープ中にアップロードがインターリーブするとき。\n+  この問題はマルチパートアップロードへは影響しません。\n+- Fix an incorrect path rewrite in the S3 API caused by unnecessary URL decoding\n+  [riak_cs/#1040](https://github.com/basho/riak_cs/pull/1040). Due to\n+  the incorrect handling of URL encoding/decoding, object keys including\n+  `%[0-9a-fA-F][0-9a-fA-F]` (as a regular expression) or `+` had been\n+  mistakenly decoded. As a consequence, the former case was decoded to\n+  some other binary and for the latter case (`+`) was replaced with ` `\n+  (space). In both cases, there was a possibility of an implicit data\n+  overwrite. For the latter case, an overwrite occurs for an object\n+  including `+` in its key (e.g. `foo+bar`) by a different object with a\n+  name that is largely similar but replaced with ` ` (space, e.g. `foo\n+  bar`), and vice versa.  This fix also addresses\n+  [riak_cs/#910](https://github.com/basho/riak_cs/pull/910) and\n+  [riak_cs/#977](https://github.com/basho/riak_cs/pull/977).\n+- 不要なURLデコードを引き起こす S3 API における不正確なURLパスの rewrite 処理。\n+  [riak_cs/#1040](https://github.com/basho/riak_cs/pull/1040).\n+  URLエンコード・デコードが不正確な事により、\n+  `%[0-9a-fA-F][0-9a-fA-F]` (正規表現) や `+` を含むオブジェクト名は\n+  誤ったデコードが実施されていました。この結果、前者は異なるバイナリへ、\n+  後者は ` ` (ブランク) へと置き換わり、どちらの場合でも暗黙的にデータを\n+  上書きする可能性があります。例えば後者のケースでは、 キー に `+` を含む\n+  オブジェクト(例：`foo+bar`) は、`+` が ` ` に置き換わっただけの、\n+  ほぼ同じ名前のオブジェクト(`foo bar`)に上書きされます。逆もまた然りです。","path":"RELEASE-NOTES.ja.md","position":40,"original_position":40,"commit_id":"08f2145b33ad667a8bc255c5eece4bae5d8e4395","original_commit_id":"08f2145b33ad667a8bc255c5eece4bae5d8e4395","user":{"login":"kuenishi","id":11440,"avatar_url":"https://avatars.githubusercontent.com/u/11440?v=3","gravatar_id":"","url":"https://api.github.com/users/kuenishi","html_url":"https://github.com/kuenishi","followers_url":"https://api.github.com/users/kuenishi/followers","following_url":"https://api.github.com/users/kuenishi/following{/other_user}","gists_url":"https://api.github.com/users/kuenishi/gists{/gist_id}","starred_url":"https://api.github.com/users/kuenishi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kuenishi/subscriptions","organizations_url":"https://api.github.com/users/kuenishi/orgs","repos_url":"https://api.github.com/users/kuenishi/repos","events_url":"https://api.github.com/users/kuenishi/events{/privacy}","received_events_url":"https://api.github.com/users/kuenishi/received_events","type":"User","site_admin":false},"body":"I'd recommend s/また然り/起こり得ます/","created_at":"2015-01-16T07:34:25Z","updated_at":"2015-01-16T07:34:25Z","html_url":"https://github.com/basho/riak_cs/pull/1049#discussion_r23066383","pull_request_url":"https://api.github.com/repos/basho/riak_cs/pulls/1049","_links":{"self":{"href":"https://api.github.com/repos/basho/riak_cs/pulls/comments/23066383"},"html":{"href":"https://github.com/basho/riak_cs/pull/1049#discussion_r23066383"},"pull_request":{"href":"https://api.github.com/repos/basho/riak_cs/pulls/1049"}}},"pull_request":{"url":"https://api.github.com/repos/basho/riak_cs/pulls/1049","id":27488491,"html_url":"https://github.com/basho/riak_cs/pull/1049","diff_url":"https://github.com/basho/riak_cs/pull/1049.diff","patch_url":"https://github.com/basho/riak_cs/pull/1049.patch","issue_url":"https://api.github.com/repos/basho/riak_cs/issues/1049","number":1049,"state":"open","locked":false,"title":"Releasenote-1.5.4-ja","user":{"login":"ksauzz","id":451586,"avatar_url":"https://avatars.githubusercontent.com/u/451586?v=3","gravatar_id":"","url":"https://api.github.com/users/ksauzz","html_url":"https://github.com/ksauzz","followers_url":"https://api.github.com/users/ksauzz/followers","following_url":"https://api.github.com/users/ksauzz/following{/other_user}","gists_url":"https://api.github.com/users/ksauzz/gists{/gist_id}","starred_url":"https://api.github.com/users/ksauzz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ksauzz/subscriptions","organizations_url":"https://api.github.com/users/ksauzz/orgs","repos_url":"https://api.github.com/users/ksauzz/repos","events_url":"https://api.github.com/users/ksauzz/events{/privacy}","received_events_url":"https://api.github.com/users/ksauzz/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-01-16T07:29:22Z","updated_at":"2015-01-16T07:34:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8121dcda9bbc21ecee449d5c53aa7a65952c388c","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/basho/riak_cs/pulls/1049/commits","review_comments_url":"https://api.github.com/repos/basho/riak_cs/pulls/1049/comments","review_comment_url":"https://api.github.com/repos/basho/riak_cs/pulls/comments/{number}","comments_url":"https://api.github.com/repos/basho/riak_cs/issues/1049/comments","statuses_url":"https://api.github.com/repos/basho/riak_cs/statuses/08f2145b33ad667a8bc255c5eece4bae5d8e4395","head":{"label":"basho:releasenote-1.5.4-ja","ref":"releasenote-1.5.4-ja","sha":"08f2145b33ad667a8bc255c5eece4bae5d8e4395","user":{"login":"basho","id":176293,"avatar_url":"https://avatars.githubusercontent.com/u/176293?v=3","gravatar_id":"","url":"https://api.github.com/users/basho","html_url":"https://github.com/basho","followers_url":"https://api.github.com/users/basho/followers","following_url":"https://api.github.com/users/basho/following{/other_user}","gists_url":"https://api.github.com/users/basho/gists{/gist_id}","starred_url":"https://api.github.com/users/basho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/basho/subscriptions","organizations_url":"https://api.github.com/users/basho/orgs","repos_url":"https://api.github.com/users/basho/repos","events_url":"https://api.github.com/users/basho/events{/privacy}","received_events_url":"https://api.github.com/users/basho/received_events","type":"Organization","site_admin":false},"repo":{"id":2513151,"name":"riak_cs","full_name":"basho/riak_cs","owner":{"login":"basho","id":176293,"avatar_url":"https://avatars.githubusercontent.com/u/176293?v=3","gravatar_id":"","url":"https://api.github.com/users/basho","html_url":"https://github.com/basho","followers_url":"https://api.github.com/users/basho/followers","following_url":"https://api.github.com/users/basho/following{/other_user}","gists_url":"https://api.github.com/users/basho/gists{/gist_id}","starred_url":"https://api.github.com/users/basho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/basho/subscriptions","organizations_url":"https://api.github.com/users/basho/orgs","repos_url":"https://api.github.com/users/basho/repos","events_url":"https://api.github.com/users/basho/events{/privacy}","received_events_url":"https://api.github.com/users/basho/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/basho/riak_cs","description":"Riak CS is simple, available cloud storage built on Riak.","fork":false,"url":"https://api.github.com/repos/basho/riak_cs","forks_url":"https://api.github.com/repos/basho/riak_cs/forks","keys_url":"https://api.github.com/repos/basho/riak_cs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/basho/riak_cs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/basho/riak_cs/teams","hooks_url":"https://api.github.com/repos/basho/riak_cs/hooks","issue_events_url":"https://api.github.com/repos/basho/riak_cs/issues/events{/number}","events_url":"https://api.github.com/repos/basho/riak_cs/events","assignees_url":"https://api.github.com/repos/basho/riak_cs/assignees{/user}","branches_url":"https://api.github.com/repos/basho/riak_cs/branches{/branch}","tags_url":"https://api.github.com/repos/basho/riak_cs/tags","blobs_url":"https://api.github.com/repos/basho/riak_cs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/basho/riak_cs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/basho/riak_cs/git/refs{/sha}","trees_url":"https://api.github.com/repos/basho/riak_cs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/basho/riak_cs/statuses/{sha}","languages_url":"https://api.github.com/repos/basho/riak_cs/languages","stargazers_url":"https://api.github.com/repos/basho/riak_cs/stargazers","contributors_url":"https://api.github.com/repos/basho/riak_cs/contributors","subscribers_url":"https://api.github.com/repos/basho/riak_cs/subscribers","subscription_url":"https://api.github.com/repos/basho/riak_cs/subscription","commits_url":"https://api.github.com/repos/basho/riak_cs/commits{/sha}","git_commits_url":"https://api.github.com/repos/basho/riak_cs/git/commits{/sha}","comments_url":"https://api.github.com/repos/basho/riak_cs/comments{/number}","issue_comment_url":"https://api.github.com/repos/basho/riak_cs/issues/comments/{number}","contents_url":"https://api.github.com/repos/basho/riak_cs/contents/{+path}","compare_url":"https://api.github.com/repos/basho/riak_cs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/basho/riak_cs/merges","archive_url":"https://api.github.com/repos/basho/riak_cs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/basho/riak_cs/downloads","issues_url":"https://api.github.com/repos/basho/riak_cs/issues{/number}","pulls_url":"https://api.github.com/repos/basho/riak_cs/pulls{/number}","milestones_url":"https://api.github.com/repos/basho/riak_cs/milestones{/number}","notifications_url":"https://api.github.com/repos/basho/riak_cs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/basho/riak_cs/labels{/name}","releases_url":"https://api.github.com/repos/basho/riak_cs/releases{/id}","created_at":"2011-10-04T16:16:25Z","updated_at":"2015-01-11T17:36:12Z","pushed_at":"2015-01-16T07:28:35Z","git_url":"git://github.com/basho/riak_cs.git","ssh_url":"git@github.com:basho/riak_cs.git","clone_url":"https://github.com/basho/riak_cs.git","svn_url":"https://github.com/basho/riak_cs","homepage":"http://docs.basho.com/riakcs/latest/","size":19746,"stargazers_count":356,"watchers_count":356,"language":"Erlang","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":53,"mirror_url":null,"open_issues_count":150,"forks":53,"open_issues":150,"watchers":356,"default_branch":"develop"}},"base":{"label":"basho:release/1.5","ref":"release/1.5","sha":"547f0771d9bff903e59462acb21af5d8ba0a4326","user":{"login":"basho","id":176293,"avatar_url":"https://avatars.githubusercontent.com/u/176293?v=3","gravatar_id":"","url":"https://api.github.com/users/basho","html_url":"https://github.com/basho","followers_url":"https://api.github.com/users/basho/followers","following_url":"https://api.github.com/users/basho/following{/other_user}","gists_url":"https://api.github.com/users/basho/gists{/gist_id}","starred_url":"https://api.github.com/users/basho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/basho/subscriptions","organizations_url":"https://api.github.com/users/basho/orgs","repos_url":"https://api.github.com/users/basho/repos","events_url":"https://api.github.com/users/basho/events{/privacy}","received_events_url":"https://api.github.com/users/basho/received_events","type":"Organization","site_admin":false},"repo":{"id":2513151,"name":"riak_cs","full_name":"basho/riak_cs","owner":{"login":"basho","id":176293,"avatar_url":"https://avatars.githubusercontent.com/u/176293?v=3","gravatar_id":"","url":"https://api.github.com/users/basho","html_url":"https://github.com/basho","followers_url":"https://api.github.com/users/basho/followers","following_url":"https://api.github.com/users/basho/following{/other_user}","gists_url":"https://api.github.com/users/basho/gists{/gist_id}","starred_url":"https://api.github.com/users/basho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/basho/subscriptions","organizations_url":"https://api.github.com/users/basho/orgs","repos_url":"https://api.github.com/users/basho/repos","events_url":"https://api.github.com/users/basho/events{/privacy}","received_events_url":"https://api.github.com/users/basho/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/basho/riak_cs","description":"Riak CS is simple, available cloud storage built on Riak.","fork":false,"url":"https://api.github.com/repos/basho/riak_cs","forks_url":"https://api.github.com/repos/basho/riak_cs/forks","keys_url":"https://api.github.com/repos/basho/riak_cs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/basho/riak_cs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/basho/riak_cs/teams","hooks_url":"https://api.github.com/repos/basho/riak_cs/hooks","issue_events_url":"https://api.github.com/repos/basho/riak_cs/issues/events{/number}","events_url":"https://api.github.com/repos/basho/riak_cs/events","assignees_url":"https://api.github.com/repos/basho/riak_cs/assignees{/user}","branches_url":"https://api.github.com/repos/basho/riak_cs/branches{/branch}","tags_url":"https://api.github.com/repos/basho/riak_cs/tags","blobs_url":"https://api.github.com/repos/basho/riak_cs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/basho/riak_cs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/basho/riak_cs/git/refs{/sha}","trees_url":"https://api.github.com/repos/basho/riak_cs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/basho/riak_cs/statuses/{sha}","languages_url":"https://api.github.com/repos/basho/riak_cs/languages","stargazers_url":"https://api.github.com/repos/basho/riak_cs/stargazers","contributors_url":"https://api.github.com/repos/basho/riak_cs/contributors","subscribers_url":"https://api.github.com/repos/basho/riak_cs/subscribers","subscription_url":"https://api.github.com/repos/basho/riak_cs/subscription","commits_url":"https://api.github.com/repos/basho/riak_cs/commits{/sha}","git_commits_url":"https://api.github.com/repos/basho/riak_cs/git/commits{/sha}","comments_url":"https://api.github.com/repos/basho/riak_cs/comments{/number}","issue_comment_url":"https://api.github.com/repos/basho/riak_cs/issues/comments/{number}","contents_url":"https://api.github.com/repos/basho/riak_cs/contents/{+path}","compare_url":"https://api.github.com/repos/basho/riak_cs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/basho/riak_cs/merges","archive_url":"https://api.github.com/repos/basho/riak_cs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/basho/riak_cs/downloads","issues_url":"https://api.github.com/repos/basho/riak_cs/issues{/number}","pulls_url":"https://api.github.com/repos/basho/riak_cs/pulls{/number}","milestones_url":"https://api.github.com/repos/basho/riak_cs/milestones{/number}","notifications_url":"https://api.github.com/repos/basho/riak_cs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/basho/riak_cs/labels{/name}","releases_url":"https://api.github.com/repos/basho/riak_cs/releases{/id}","created_at":"2011-10-04T16:16:25Z","updated_at":"2015-01-11T17:36:12Z","pushed_at":"2015-01-16T07:28:35Z","git_url":"git://github.com/basho/riak_cs.git","ssh_url":"git@github.com:basho/riak_cs.git","clone_url":"https://github.com/basho/riak_cs.git","svn_url":"https://github.com/basho/riak_cs","homepage":"http://docs.basho.com/riakcs/latest/","size":19746,"stargazers_count":356,"watchers_count":356,"language":"Erlang","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":53,"mirror_url":null,"open_issues_count":150,"forks":53,"open_issues":150,"watchers":356,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/basho/riak_cs/pulls/1049"},"html":{"href":"https://github.com/basho/riak_cs/pull/1049"},"issue":{"href":"https://api.github.com/repos/basho/riak_cs/issues/1049"},"comments":{"href":"https://api.github.com/repos/basho/riak_cs/issues/1049/comments"},"review_comments":{"href":"https://api.github.com/repos/basho/riak_cs/pulls/1049/comments"},"review_comment":{"href":"https://api.github.com/repos/basho/riak_cs/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/basho/riak_cs/pulls/1049/commits"},"statuses":{"href":"https://api.github.com/repos/basho/riak_cs/statuses/08f2145b33ad667a8bc255c5eece4bae5d8e4395"}}}}