{"action":"created","comment":{"url":"https://api.github.com/repos/scality/Arsenal/pulls/comments/67858870","id":67858870,"diff_hunk":"@@ -1,9 +1,14 @@\n 'use strict'; // eslint-disable-line strict\n \n+const checkLimit = require('./tools').checkLimit;\n+const DEFAULT_MAX_KEYS = 1000;","path":"lib/extension/listMPU.extension.js","position":4,"original_position":4,"commit_id":"273c5568a9e32825c5efb03abc08b3ba644b5334","original_commit_id":"ecc53f378625623f77778b173f0f67fb4ffd5fc1","user":{"login":"MathieuCassagne","id":14313790,"avatar_url":"https://avatars.githubusercontent.com/u/14313790?v=3","gravatar_id":"","url":"https://api.github.com/users/MathieuCassagne","html_url":"https://github.com/MathieuCassagne","followers_url":"https://api.github.com/users/MathieuCassagne/followers","following_url":"https://api.github.com/users/MathieuCassagne/following{/other_user}","gists_url":"https://api.github.com/users/MathieuCassagne/gists{/gist_id}","starred_url":"https://api.github.com/users/MathieuCassagne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MathieuCassagne/subscriptions","organizations_url":"https://api.github.com/users/MathieuCassagne/orgs","repos_url":"https://api.github.com/users/MathieuCassagne/repos","events_url":"https://api.github.com/users/MathieuCassagne/events{/privacy}","received_events_url":"https://api.github.com/users/MathieuCassagne/received_events","type":"User","site_admin":false},"body":"The limit of 1000 comes from the AWS documentation, it's an hard limit.\r\nBut, the simple list extension is not intended to be used by S3 to do an object listing, bucketClient enforce the use of delimiter or listMPU extension, the limit of 10000 is here to avoid to use more RAM than the process can use.","created_at":"2016-06-21T12:34:10Z","updated_at":"2016-06-21T12:34:10Z","html_url":"https://github.com/scality/Arsenal/pull/97#discussion_r67858870","pull_request_url":"https://api.github.com/repos/scality/Arsenal/pulls/97","_links":{"self":{"href":"https://api.github.com/repos/scality/Arsenal/pulls/comments/67858870"},"html":{"href":"https://github.com/scality/Arsenal/pull/97#discussion_r67858870"},"pull_request":{"href":"https://api.github.com/repos/scality/Arsenal/pulls/97"}}},"pull_request":{"url":"https://api.github.com/repos/scality/Arsenal/pulls/97","id":73538376,"html_url":"https://github.com/scality/Arsenal/pull/97","diff_url":"https://github.com/scality/Arsenal/pull/97.diff","patch_url":"https://github.com/scality/Arsenal/pull/97.patch","issue_url":"https://api.github.com/repos/scality/Arsenal/issues/97","number":97,"state":"open","locked":false,"title":"Fix/listing limit","user":{"login":"MathieuCassagne","id":14313790,"avatar_url":"https://avatars.githubusercontent.com/u/14313790?v=3","gravatar_id":"","url":"https://api.github.com/users/MathieuCassagne","html_url":"https://github.com/MathieuCassagne","followers_url":"https://api.github.com/users/MathieuCassagne/followers","following_url":"https://api.github.com/users/MathieuCassagne/following{/other_user}","gists_url":"https://api.github.com/users/MathieuCassagne/gists{/gist_id}","starred_url":"https://api.github.com/users/MathieuCassagne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MathieuCassagne/subscriptions","organizations_url":"https://api.github.com/users/MathieuCassagne/orgs","repos_url":"https://api.github.com/users/MathieuCassagne/repos","events_url":"https://api.github.com/users/MathieuCassagne/events{/privacy}","received_events_url":"https://api.github.com/users/MathieuCassagne/received_events","type":"User","site_admin":false},"body":"#### Extension(fix): Default value:\r\n- Add 'checkLlimit' into tools.js to check the maxKeys of all extensions\r\n  in one function.\r\n- The default value is now set in the extension itself.\r\n- ListExtension: Add a limit on max elementes returned.\r\n- ListExtension, DelimiterExtension, ListMPUExtension: Check if reached\r\n  maxKeys at start of fiter function to deal with the case of\r\n  maxKeys <= 0\r\n\r\n#### Extension(tests): Add unit tests:\r\n- Added unit test for DelimiterExtension, ListExtension and checkLimit\r\n  function.\r\n\r\n#### Add missing extension to index.js","created_at":"2016-06-13T08:28:43Z","updated_at":"2016-06-21T12:34:10Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d54336ec93e928f822f7b165adce7413b1105f2e","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/scality/Arsenal/pulls/97/commits","review_comments_url":"https://api.github.com/repos/scality/Arsenal/pulls/97/comments","review_comment_url":"https://api.github.com/repos/scality/Arsenal/pulls/comments{/number}","comments_url":"https://api.github.com/repos/scality/Arsenal/issues/97/comments","statuses_url":"https://api.github.com/repos/scality/Arsenal/statuses/273c5568a9e32825c5efb03abc08b3ba644b5334","head":{"label":"scality:fix/listingLimit","ref":"fix/listingLimit","sha":"273c5568a9e32825c5efb03abc08b3ba644b5334","user":{"login":"scality","id":383812,"avatar_url":"https://avatars.githubusercontent.com/u/383812?v=3","gravatar_id":"","url":"https://api.github.com/users/scality","html_url":"https://github.com/scality","followers_url":"https://api.github.com/users/scality/followers","following_url":"https://api.github.com/users/scality/following{/other_user}","gists_url":"https://api.github.com/users/scality/gists{/gist_id}","starred_url":"https://api.github.com/users/scality/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scality/subscriptions","organizations_url":"https://api.github.com/users/scality/orgs","repos_url":"https://api.github.com/users/scality/repos","events_url":"https://api.github.com/users/scality/events{/privacy}","received_events_url":"https://api.github.com/users/scality/received_events","type":"Organization","site_admin":false},"repo":{"id":42728835,"name":"Arsenal","full_name":"scality/Arsenal","owner":{"login":"scality","id":383812,"avatar_url":"https://avatars.githubusercontent.com/u/383812?v=3","gravatar_id":"","url":"https://api.github.com/users/scality","html_url":"https://github.com/scality","followers_url":"https://api.github.com/users/scality/followers","following_url":"https://api.github.com/users/scality/following{/other_user}","gists_url":"https://api.github.com/users/scality/gists{/gist_id}","starred_url":"https://api.github.com/users/scality/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scality/subscriptions","organizations_url":"https://api.github.com/users/scality/orgs","repos_url":"https://api.github.com/users/scality/repos","events_url":"https://api.github.com/users/scality/events{/privacy}","received_events_url":"https://api.github.com/users/scality/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/scality/Arsenal","description":"Common utilities for the open-source Scality S3 project components","fork":false,"url":"https://api.github.com/repos/scality/Arsenal","forks_url":"https://api.github.com/repos/scality/Arsenal/forks","keys_url":"https://api.github.com/repos/scality/Arsenal/keys{/key_id}","collaborators_url":"https://api.github.com/repos/scality/Arsenal/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/scality/Arsenal/teams","hooks_url":"https://api.github.com/repos/scality/Arsenal/hooks","issue_events_url":"https://api.github.com/repos/scality/Arsenal/issues/events{/number}","events_url":"https://api.github.com/repos/scality/Arsenal/events","assignees_url":"https://api.github.com/repos/scality/Arsenal/assignees{/user}","branches_url":"https://api.github.com/repos/scality/Arsenal/branches{/branch}","tags_url":"https://api.github.com/repos/scality/Arsenal/tags","blobs_url":"https://api.github.com/repos/scality/Arsenal/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/scality/Arsenal/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/scality/Arsenal/git/refs{/sha}","trees_url":"https://api.github.com/repos/scality/Arsenal/git/trees{/sha}","statuses_url":"https://api.github.com/repos/scality/Arsenal/statuses/{sha}","languages_url":"https://api.github.com/repos/scality/Arsenal/languages","stargazers_url":"https://api.github.com/repos/scality/Arsenal/stargazers","contributors_url":"https://api.github.com/repos/scality/Arsenal/contributors","subscribers_url":"https://api.github.com/repos/scality/Arsenal/subscribers","subscription_url":"https://api.github.com/repos/scality/Arsenal/subscription","commits_url":"https://api.github.com/repos/scality/Arsenal/commits{/sha}","git_commits_url":"https://api.github.com/repos/scality/Arsenal/git/commits{/sha}","comments_url":"https://api.github.com/repos/scality/Arsenal/comments{/number}","issue_comment_url":"https://api.github.com/repos/scality/Arsenal/issues/comments{/number}","contents_url":"https://api.github.com/repos/scality/Arsenal/contents/{+path}","compare_url":"https://api.github.com/repos/scality/Arsenal/compare/{base}...{head}","merges_url":"https://api.github.com/repos/scality/Arsenal/merges","archive_url":"https://api.github.com/repos/scality/Arsenal/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/scality/Arsenal/downloads","issues_url":"https://api.github.com/repos/scality/Arsenal/issues{/number}","pulls_url":"https://api.github.com/repos/scality/Arsenal/pulls{/number}","milestones_url":"https://api.github.com/repos/scality/Arsenal/milestones{/number}","notifications_url":"https://api.github.com/repos/scality/Arsenal/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/scality/Arsenal/labels{/name}","releases_url":"https://api.github.com/repos/scality/Arsenal/releases{/id}","deployments_url":"https://api.github.com/repos/scality/Arsenal/deployments","created_at":"2015-09-18T14:58:21Z","updated_at":"2016-06-21T09:36:57Z","pushed_at":"2016-06-21T12:29:07Z","git_url":"git://github.com/scality/Arsenal.git","ssh_url":"git@github.com:scality/Arsenal.git","clone_url":"https://github.com/scality/Arsenal.git","svn_url":"https://github.com/scality/Arsenal","homepage":"","size":466,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":9,"forks":0,"open_issues":9,"watchers":0,"default_branch":"master"}},"base":{"label":"scality:rel/1.1","ref":"rel/1.1","sha":"228f9630a290397f5ffde6b89db884aca7ce38d1","user":{"login":"scality","id":383812,"avatar_url":"https://avatars.githubusercontent.com/u/383812?v=3","gravatar_id":"","url":"https://api.github.com/users/scality","html_url":"https://github.com/scality","followers_url":"https://api.github.com/users/scality/followers","following_url":"https://api.github.com/users/scality/following{/other_user}","gists_url":"https://api.github.com/users/scality/gists{/gist_id}","starred_url":"https://api.github.com/users/scality/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scality/subscriptions","organizations_url":"https://api.github.com/users/scality/orgs","repos_url":"https://api.github.com/users/scality/repos","events_url":"https://api.github.com/users/scality/events{/privacy}","received_events_url":"https://api.github.com/users/scality/received_events","type":"Organization","site_admin":false},"repo":{"id":42728835,"name":"Arsenal","full_name":"scality/Arsenal","owner":{"login":"scality","id":383812,"avatar_url":"https://avatars.githubusercontent.com/u/383812?v=3","gravatar_id":"","url":"https://api.github.com/users/scality","html_url":"https://github.com/scality","followers_url":"https://api.github.com/users/scality/followers","following_url":"https://api.github.com/users/scality/following{/other_user}","gists_url":"https://api.github.com/users/scality/gists{/gist_id}","starred_url":"https://api.github.com/users/scality/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scality/subscriptions","organizations_url":"https://api.github.com/users/scality/orgs","repos_url":"https://api.github.com/users/scality/repos","events_url":"https://api.github.com/users/scality/events{/privacy}","received_events_url":"https://api.github.com/users/scality/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/scality/Arsenal","description":"Common utilities for the open-source Scality S3 project components","fork":false,"url":"https://api.github.com/repos/scality/Arsenal","forks_url":"https://api.github.com/repos/scality/Arsenal/forks","keys_url":"https://api.github.com/repos/scality/Arsenal/keys{/key_id}","collaborators_url":"https://api.github.com/repos/scality/Arsenal/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/scality/Arsenal/teams","hooks_url":"https://api.github.com/repos/scality/Arsenal/hooks","issue_events_url":"https://api.github.com/repos/scality/Arsenal/issues/events{/number}","events_url":"https://api.github.com/repos/scality/Arsenal/events","assignees_url":"https://api.github.com/repos/scality/Arsenal/assignees{/user}","branches_url":"https://api.github.com/repos/scality/Arsenal/branches{/branch}","tags_url":"https://api.github.com/repos/scality/Arsenal/tags","blobs_url":"https://api.github.com/repos/scality/Arsenal/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/scality/Arsenal/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/scality/Arsenal/git/refs{/sha}","trees_url":"https://api.github.com/repos/scality/Arsenal/git/trees{/sha}","statuses_url":"https://api.github.com/repos/scality/Arsenal/statuses/{sha}","languages_url":"https://api.github.com/repos/scality/Arsenal/languages","stargazers_url":"https://api.github.com/repos/scality/Arsenal/stargazers","contributors_url":"https://api.github.com/repos/scality/Arsenal/contributors","subscribers_url":"https://api.github.com/repos/scality/Arsenal/subscribers","subscription_url":"https://api.github.com/repos/scality/Arsenal/subscription","commits_url":"https://api.github.com/repos/scality/Arsenal/commits{/sha}","git_commits_url":"https://api.github.com/repos/scality/Arsenal/git/commits{/sha}","comments_url":"https://api.github.com/repos/scality/Arsenal/comments{/number}","issue_comment_url":"https://api.github.com/repos/scality/Arsenal/issues/comments{/number}","contents_url":"https://api.github.com/repos/scality/Arsenal/contents/{+path}","compare_url":"https://api.github.com/repos/scality/Arsenal/compare/{base}...{head}","merges_url":"https://api.github.com/repos/scality/Arsenal/merges","archive_url":"https://api.github.com/repos/scality/Arsenal/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/scality/Arsenal/downloads","issues_url":"https://api.github.com/repos/scality/Arsenal/issues{/number}","pulls_url":"https://api.github.com/repos/scality/Arsenal/pulls{/number}","milestones_url":"https://api.github.com/repos/scality/Arsenal/milestones{/number}","notifications_url":"https://api.github.com/repos/scality/Arsenal/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/scality/Arsenal/labels{/name}","releases_url":"https://api.github.com/repos/scality/Arsenal/releases{/id}","deployments_url":"https://api.github.com/repos/scality/Arsenal/deployments","created_at":"2015-09-18T14:58:21Z","updated_at":"2016-06-21T09:36:57Z","pushed_at":"2016-06-21T12:29:07Z","git_url":"git://github.com/scality/Arsenal.git","ssh_url":"git@github.com:scality/Arsenal.git","clone_url":"https://github.com/scality/Arsenal.git","svn_url":"https://github.com/scality/Arsenal","homepage":"","size":466,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":9,"forks":0,"open_issues":9,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/scality/Arsenal/pulls/97"},"html":{"href":"https://github.com/scality/Arsenal/pull/97"},"issue":{"href":"https://api.github.com/repos/scality/Arsenal/issues/97"},"comments":{"href":"https://api.github.com/repos/scality/Arsenal/issues/97/comments"},"review_comments":{"href":"https://api.github.com/repos/scality/Arsenal/pulls/97/comments"},"review_comment":{"href":"https://api.github.com/repos/scality/Arsenal/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/scality/Arsenal/pulls/97/commits"},"statuses":{"href":"https://api.github.com/repos/scality/Arsenal/statuses/273c5568a9e32825c5efb03abc08b3ba644b5334"}}}}
{"actor":{"display_login":"MathieuCassagne"}}