New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 716309 link

Starred by 0 users

Issue metadata

Status: Archived
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 712121



Sign in to add a comment

Files app: Cache entry metadata in background process

Project Member Reported by tetsui@chromium.org, Apr 28 2017

Issue description

Currently, Metadata cache is only available to foreground classes. However, some background classes also need Metadata cache.

- importer needs entry's metadata to generate cache from entry's modificationTime and size.
- file_operation_manager also needs entry's metadata to know progress based on entry's size.

It would be better to have background-wide metadata cache so that they do not have duplicates.
 

Comment 1 by tetsui@chromium.org, Apr 28 2017

Labels: -Pri-3 Pri-2
Status: Started (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, Jun 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e32d7951cd631cbeccd84b0ce874a41c9ee12faa

commit e32d7951cd631cbeccd84b0ce874a41c9ee12faa
Author: tetsui <tetsui@chromium.org>
Date: Thu Jun 01 08:31:52 2017

Add background-wide file metadata cache.

Several background classes needs file metadata to perform their tasks.
However, Metadata cache was only available to foreground classes. Also,
lifetime of foreground metadata cache is tied to windows, so we have to
maintain separate Least Recently Used cache in the background.
As having separate cache for several background classes is inefficient,
we are going to have global cache class that is shared among them.
This has huge performance impact on slow storage devices such as MTP
conencted ones.

TEST=manually tested.
BUG= 716309 , 712121 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2856533003
Cr-Commit-Position: refs/heads/master@{#476228}

[modify] https://crrev.com/e32d7951cd631cbeccd84b0ce874a41c9ee12faa/ui/file_manager/file_manager/background/js/background_scripts.js
[modify] https://crrev.com/e32d7951cd631cbeccd84b0ce874a41c9ee12faa/ui/file_manager/file_manager/background/js/compiled_resources2.gyp
[modify] https://crrev.com/e32d7951cd631cbeccd84b0ce874a41c9ee12faa/ui/file_manager/file_manager/background/js/duplicate_finder_unittest.html
[modify] https://crrev.com/e32d7951cd631cbeccd84b0ce874a41c9ee12faa/ui/file_manager/file_manager/background/js/file_operation_manager.js
[modify] https://crrev.com/e32d7951cd631cbeccd84b0ce874a41c9ee12faa/ui/file_manager/file_manager/background/js/file_operation_manager_unittest.html
[modify] https://crrev.com/e32d7951cd631cbeccd84b0ce874a41c9ee12faa/ui/file_manager/file_manager/background/js/file_operation_util.js
[modify] https://crrev.com/e32d7951cd631cbeccd84b0ce874a41c9ee12faa/ui/file_manager/file_manager/background/js/import_history.js
[modify] https://crrev.com/e32d7951cd631cbeccd84b0ce874a41c9ee12faa/ui/file_manager/file_manager/background/js/import_history_unittest.html
[modify] https://crrev.com/e32d7951cd631cbeccd84b0ce874a41c9ee12faa/ui/file_manager/file_manager/background/js/import_history_unittest.js
[modify] https://crrev.com/e32d7951cd631cbeccd84b0ce874a41c9ee12faa/ui/file_manager/file_manager/background/js/media_scanner.js
[modify] https://crrev.com/e32d7951cd631cbeccd84b0ce874a41c9ee12faa/ui/file_manager/file_manager/background/js/media_scanner_unittest.html
[add] https://crrev.com/e32d7951cd631cbeccd84b0ce874a41c9ee12faa/ui/file_manager/file_manager/background/js/metadata_proxy.js
[modify] https://crrev.com/e32d7951cd631cbeccd84b0ce874a41c9ee12faa/ui/file_manager/file_manager/common/js/importer_common.js
[modify] https://crrev.com/e32d7951cd631cbeccd84b0ce874a41c9ee12faa/ui/file_manager/file_manager/common/js/importer_common_unittest.html
[modify] https://crrev.com/e32d7951cd631cbeccd84b0ce874a41c9ee12faa/ui/file_manager/file_manager/common/js/importer_common_unittest.js

Status: Fixed (was: Started)

Comment 5 by dchan@chromium.org, Aug 1 2017

Labels: VerifyIn-61

Comment 6 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment