{"action":"created","issue":{"url":"https://api.github.com/repos/owncloud/core/issues/33936","repository_url":"https://api.github.com/repos/owncloud/core","labels_url":"https://api.github.com/repos/owncloud/core/issues/33936/labels{/name}","comments_url":"https://api.github.com/repos/owncloud/core/issues/33936/comments","events_url":"https://api.github.com/repos/owncloud/core/issues/33936/events","html_url":"https://github.com/owncloud/core/pull/33936","id":392707777,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM5OTE5MzY1","number":33936,"title":"[WIP] Improve speed accessing all apps by caching result of integrity check","user":{"login":"sharidas","id":3600427,"node_id":"MDQ6VXNlcjM2MDA0Mjc=","avatar_url":"https://avatars1.githubusercontent.com/u/3600427?v=4","gravatar_id":"","url":"https://api.github.com/users/sharidas","html_url":"https://github.com/sharidas","followers_url":"https://api.github.com/users/sharidas/followers","following_url":"https://api.github.com/users/sharidas/following{/other_user}","gists_url":"https://api.github.com/users/sharidas/gists{/gist_id}","starred_url":"https://api.github.com/users/sharidas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sharidas/subscriptions","organizations_url":"https://api.github.com/users/sharidas/orgs","repos_url":"https://api.github.com/users/sharidas/repos","events_url":"https://api.github.com/users/sharidas/events{/privacy}","received_events_url":"https://api.github.com/users/sharidas/received_events","type":"User","site_admin":false},"labels":[{"id":17709833,"node_id":"MDU6TGFiZWwxNzcwOTgzMw==","url":"https://api.github.com/repos/owncloud/core/labels/2%20-%20Developing","name":"2 - Developing","color":"ededed","default":false}],"state":"open","locked":false,"assignee":{"login":"sharidas","id":3600427,"node_id":"MDQ6VXNlcjM2MDA0Mjc=","avatar_url":"https://avatars1.githubusercontent.com/u/3600427?v=4","gravatar_id":"","url":"https://api.github.com/users/sharidas","html_url":"https://github.com/sharidas","followers_url":"https://api.github.com/users/sharidas/followers","following_url":"https://api.github.com/users/sharidas/following{/other_user}","gists_url":"https://api.github.com/users/sharidas/gists{/gist_id}","starred_url":"https://api.github.com/users/sharidas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sharidas/subscriptions","organizations_url":"https://api.github.com/users/sharidas/orgs","repos_url":"https://api.github.com/users/sharidas/repos","events_url":"https://api.github.com/users/sharidas/events{/privacy}","received_events_url":"https://api.github.com/users/sharidas/received_events","type":"User","site_admin":false},"assignees":[{"login":"sharidas","id":3600427,"node_id":"MDQ6VXNlcjM2MDA0Mjc=","avatar_url":"https://avatars1.githubusercontent.com/u/3600427?v=4","gravatar_id":"","url":"https://api.github.com/users/sharidas","html_url":"https://github.com/sharidas","followers_url":"https://api.github.com/users/sharidas/followers","following_url":"https://api.github.com/users/sharidas/following{/other_user}","gists_url":"https://api.github.com/users/sharidas/gists{/gist_id}","starred_url":"https://api.github.com/users/sharidas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sharidas/subscriptions","organizations_url":"https://api.github.com/users/sharidas/orgs","repos_url":"https://api.github.com/users/sharidas/repos","events_url":"https://api.github.com/users/sharidas/events{/privacy}","received_events_url":"https://api.github.com/users/sharidas/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/owncloud/core/milestones/120","html_url":"https://github.com/owncloud/core/milestone/120","labels_url":"https://api.github.com/repos/owncloud/core/milestones/120/labels","id":3031526,"node_id":"MDk6TWlsZXN0b25lMzAzMTUyNg==","number":120,"title":"development","description":"10.0.11","creator":{"login":"PVince81","id":277525,"node_id":"MDQ6VXNlcjI3NzUyNQ==","avatar_url":"https://avatars2.githubusercontent.com/u/277525?v=4","gravatar_id":"","url":"https://api.github.com/users/PVince81","html_url":"https://github.com/PVince81","followers_url":"https://api.github.com/users/PVince81/followers","following_url":"https://api.github.com/users/PVince81/following{/other_user}","gists_url":"https://api.github.com/users/PVince81/gists{/gist_id}","starred_url":"https://api.github.com/users/PVince81/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PVince81/subscriptions","organizations_url":"https://api.github.com/users/PVince81/orgs","repos_url":"https://api.github.com/users/PVince81/repos","events_url":"https://api.github.com/users/PVince81/events{/privacy}","received_events_url":"https://api.github.com/users/PVince81/received_events","type":"User","site_admin":false},"open_issues":45,"closed_issues":922,"state":"open","created_at":"2018-01-12T14:07:35Z","updated_at":"2018-12-19T17:36:35Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2018-12-19T17:36:34Z","updated_at":"2018-12-19T18:13:26Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/owncloud/core/pulls/33936","html_url":"https://github.com/owncloud/core/pull/33936","diff_url":"https://github.com/owncloud/core/pull/33936.diff","patch_url":"https://github.com/owncloud/core/pull/33936.patch"},"body":"The integrity check is causing an over head during\r\nexecution. And hence it affects the speed of accessing\r\napps. This change address this issue by caching the\r\napp signature results.\r\n\r\nSigned-off-by: Sujith H <sharidasan@owncloud.com>\r\n\r\n<!--\r\nThanks for submitting a change to ownCloud!\r\n\r\nThis is the bug tracker for the Server component. Find other components at https://github.com/owncloud/core/blob/master/.github/CONTRIBUTING.md#guidelines\r\n\r\nFor fixing potential security issues please see https://owncloud.org/security/\r\n\r\nTo make it possible for us to get your change reviewed and merged please carefully fill out the requested information below.\r\n\r\nPlease note that any kind of change needs first be submitted to the master branch which holds the next major version of ownCloud.\r\n\r\nWe will carefully discuss if your change can or has to be backported to stable branches.\r\n\r\nPlease set the following labels:\r\n\r\n- Set label \"3 - To review\" for review or \"2 - Development\" in case the PR still has open tasks\r\n- Set label \"backport-request\" if backport is needed\r\n- Assignment: assign to self\r\n- Milestone: set the same as the ticket this PR fixes, or \"development\" by default\r\n- Reviewers: pick at least one\r\n-->\r\n\r\n## Description\r\n<!--- Describe your changes in detail -->\r\nThere is an issue noticed when the `OC_App::listAllApps()` is executed. It takes a little long time to get the apps. The major time is consumed in the Integrity checker. So to overcome this issue, this change tries to cache the signature of the app when the integrity check is called. Once it is cached, the integrity checker does not execute the code which causes the program to wait for long time to get the result.\r\n\r\n## Related Issue\r\n<!--- This project only accepts pull requests related to open issues -->\r\n<!--- If suggesting a new feature or change, please discuss it in an issue first -->\r\n<!--- If fixing a bug, there should be an issue describing it with steps to reproduce -->\r\n<!--- Please link to the issue here: -->\r\n- Fixes https://github.com/owncloud/core/issues/33248\r\n\r\n## Motivation and Context\r\n<!--- Why is this change required? What problem does it solve? -->\r\nIn this change the app signature results are cached. And hence it speeds the result to get the apps.\r\n\r\n## How Has This Been Tested?\r\n<!--- Please describe in detail how you tested your changes. -->\r\n<!--- Include details of your testing environment, and the tests you ran to -->\r\n<!--- see how your change affects other areas of the code, etc. -->\r\n- Install redis and memcache as mentioned at https://doc.owncloud.org/server/10.0/admin_manual/configuration/server/caching_configuration.html.\r\n- Added the configuration mentioned below in the config.php\r\n```\r\n  'memcache.locking' => '\\\\OC\\\\Memcache\\\\Redis',\r\n  'memcache.local' => '\\\\OC\\\\Memcache\\\\Redis',\r\n  'redis' =>\r\n  array (\r\n    'host' => 'localhost',\r\n    'port' => 6379,\r\n    'timeout' => 0.0,\r\n    'dbindex' => 0,\r\n  ),\r\n  'memcached_servers' => [\r\n          ['localhost', 11211],\r\n  ],\r\n```\r\n- Now access the Apps in the settings page of the UI. It would be slow as it needs to cache the results first.\r\n- Try for the second time. The performace should increase.\r\n\r\n## Screenshots (if appropriate):\r\n\r\n## Types of changes\r\n<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->\r\n- [ ] Bug fix (non-breaking change which fixes an issue)\r\n- [ ] New feature (non-breaking change which adds functionality)\r\n- [ ] Breaking change (fix or feature that would cause existing functionality to change)\r\n- [ ] Technical debt\r\n- [ ] Tests\r\n\r\n## Checklist:\r\n<!-- Tick the checkboxes when done. -->\r\n<!-- Raise documentation ticket in https://github.com/owncloud/documentation -->\r\n- [ ] Code changes\r\n- [ ] Unit tests added\r\n- [ ] Acceptance tests added\r\n- [ ] Documentation ticket raised: <link> \r\n\r\n## Open tasks:\r\n<!-- In case of incomplete PR, please list the open tasks here -->\r\n- [ ] Backport (if applicable set \"backport-request\" label and remove when the backport was done)\r\n"},"comment":{"url":"https://api.github.com/repos/owncloud/core/issues/comments/448692645","html_url":"https://github.com/owncloud/core/pull/33936#issuecomment-448692645","issue_url":"https://api.github.com/repos/owncloud/core/issues/33936","id":448692645,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0ODY5MjY0NQ==","user":{"login":"codecov[bot]","id":22429695,"node_id":"MDM6Qm90MjI0Mjk2OTU=","avatar_url":"https://avatars2.githubusercontent.com/in/254?v=4","gravatar_id":"","url":"https://api.github.com/users/codecov%5Bbot%5D","html_url":"https://github.com/apps/codecov","followers_url":"https://api.github.com/users/codecov%5Bbot%5D/followers","following_url":"https://api.github.com/users/codecov%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/codecov%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/codecov%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codecov%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/codecov%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/codecov%5Bbot%5D/repos","events_url":"https://api.github.com/users/codecov%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/codecov%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2018-12-19T18:13:26Z","updated_at":"2018-12-19T18:13:26Z","author_association":"NONE","body":"# [Codecov](https://codecov.io/gh/owncloud/core/pull/33936?src=pr&el=h1) Report\n> Merging [#33936](https://codecov.io/gh/owncloud/core/pull/33936?src=pr&el=desc) into [master](https://codecov.io/gh/owncloud/core/commit/00bd3c04e6e5a3620f15358252658cec8fb22151?src=pr&el=desc) will **decrease** coverage by `0.02%`.\n> The diff coverage is `100%`.\n\n[![Impacted file tree graph](https://codecov.io/gh/owncloud/core/pull/33936/graphs/tree.svg?width=650&token=bvPvzqol8M&height=150&src=pr)](https://codecov.io/gh/owncloud/core/pull/33936?src=pr&el=tree)\n\n```diff\n@@             Coverage Diff              @@\n##             master   #33936      +/-   ##\n============================================\n- Coverage     64.77%   64.75%   -0.03%     \n- Complexity    18330    18337       +7     \n============================================\n  Files          1198     1198              \n  Lines         69374    69401      +27     \n  Branches       1276     1276              \n============================================\n+ Hits          44938    44941       +3     \n- Misses        24064    24088      +24     \n  Partials        372      372\n```\n\n| Flag | Coverage Δ | Complexity Δ | |\n|---|---|---|---|\n| #javascript | `52.98% <ø> (ø)` | `0 <ø> (ø)` | :arrow_down: |\n| #phpunit | `66.11% <100%> (-0.03%)` | `18337 <0> (+7)` | |\n\n| [Impacted Files](https://codecov.io/gh/owncloud/core/pull/33936?src=pr&el=tree) | Coverage Δ | Complexity Δ | |\n|---|---|---|---|\n| [lib/private/IntegrityCheck/Checker.php](https://codecov.io/gh/owncloud/core/pull/33936/diff?src=pr&el=tree#diff-bGliL3ByaXZhdGUvSW50ZWdyaXR5Q2hlY2svQ2hlY2tlci5waHA=) | `93.06% <100%> (+0.11%)` | `72 <0> (+1)` | :arrow_up: |\n| [apps/files\\_external/lib/config.php](https://codecov.io/gh/owncloud/core/pull/33936/diff?src=pr&el=tree#diff-YXBwcy9maWxlc19leHRlcm5hbC9saWIvY29uZmlnLnBocA==) | `10.71% <0%> (-5.68%)` | `19% <0%> (+6%)` | |\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/owncloud/core/pull/33936?src=pr&el=continue).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)\n> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/owncloud/core/pull/33936?src=pr&el=footer). Last update [00bd3c0...9797e53](https://codecov.io/gh/owncloud/core/pull/33936?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).\n"}}
{"actor":{"display_login":"codecov"}}