summaryrefslogtreecommitdiff
path: root/apex/blobstore/service/java
AgeCommit message (Collapse)Author
2020-03-19Ensure waitForIdle() waits until pending messages are handled.Sudheer Shanka
Fixes: 151960323 Test: atest --test-mapping apex/blobstore Change-Id: If5156ac22e0a5644bc6d931bed8521824095aa2b
2020-03-19Merge "Delete a blob after the last lease of it is released." into rvc-devSudheer Shanka
2020-03-19Merge "Dump no. of open fds correctly." into rvc-devSudheer Shanka
2020-03-18Dump no. of open fds correctly.Sudheer Shanka
Fixes: 151378533 Test: atest --test-mapping apex/blobstore Change-Id: Ib52352ffd3334734122a62ab33c75ddbdda0aa81
2020-03-18Delete a blob after the last lease of it is released.Sudheer Shanka
Also, avoid deleting it if it was committed recently to allow app that contributed it to acquire a lease. Bug: 151378266 Test: atest --test-mapping apex/blobstore Change-Id: I32f9bc0d0e9d74e7a07c279b5057f53ccb610673
2020-03-12Add @TestApis getLeasedBlobs() and getLeaseInfo().Sudheer Shanka
+ Rename AccessorInfo to LeaseInfo. Bug: 150619869 Test: atest --test-mapping apex/blobstore Change-Id: I257b784350aa8bcf39847a3fd1a91977e4ff174a
2020-03-10Merge "Address API feedback." into rvc-devSudheer Shanka
2020-03-09Address API feedback.Sudheer Shanka
- Rename deleteSession() to abandonSession(). - Update javadoc for releaseLease() and Session.close(). Bug: 150220575 Test: atest --test-mapping apex/blobstore Change-Id: I68de966e195fadc1fbfad36ee0dbb40ccae6cdda
2020-03-09Add hidden APIs to query and delete shared blobs.Sudheer Shanka
Bug: 150804006 Test: atest --test-mapping apex/blobstore Change-Id: Ia445715879c1b6ec74c2a2ee9d2ff0eb1f4ee72b
2020-03-06Merge "Include data scheme when registering for package_* broadcasts." into ↵Sudheer Shanka
rvc-dev
2020-03-06Merge "Add a limit on how much data an app can acquire a lease on." into rvc-devSudheer Shanka
2020-03-06Merge "Don't persist description res ids as they are subject to change." ↵Sudheer Shanka
into rvc-dev
2020-03-06Don't persist description res ids as they are subject to change.Sudheer Shanka
Instead persist the resource name and update the javadoc to suggest that apps should re-acquire the lease if the description resource changes. Bug: 150829640 Test: atest --test-mapping apex/blobstore Change-Id: Ibeabffe7de046ed74cbbcaed6c69c9d25028799d
2020-03-05Merge "Add shell cmd blob_store idle-maintenance." into rvc-devSudheer Shanka
2020-03-05Add shell cmd blob_store idle-maintenance.Sudheer Shanka
Bug: 150836191 Test: atest --test-mapping apex/blobstore Change-Id: I3155de808030aa54842e651cb6a5c13c49b74ccf
2020-03-05Include data scheme when registering for package_* broadcasts.Sudheer Shanka
+ Fix an issue in how we remove data belonging to uninstalled packages. Bug: 150838105 Test: atest --test-mapping apex/blobstore Change-Id: I56986af2439dccfd8eac9fa0abddd25d9368faf2
2020-03-04Get rid of some unhelpful logs.Sudheer Shanka
Fixes: 150833185 Test: atest --test-mapping apex/blobstore Change-Id: I1926df9b79b712448e498c6467545a50f852c7e6
2020-02-27Compute digest in BackgroundThread which is limited to little cores.Sudheer Shanka
Bug: 149525109 Test: atest --test-mapping apex/blobstore Change-Id: I70333e1d880c45db15e9e1fe730f3443626aab67
2020-02-24Add a limit on how much data an app can acquire a lease on.Sudheer Shanka
+ Allow this limit to be modified using DeviceConfig properties. + Support DeviceConfig.getProperties() in TestableDeviceConfig. Bug: 144155182 Test: atest --test-mapping apex/blobstore Test: atest services/tests/mockingservicestests/src/com/android/server/testables/TestableDeviceConfigTest.java Test: atest services/tests/mockingservicestests/src/com/android/server/am/CachedAppOptimizerTest.java Change-Id: I28e67a27771be04ed1d37f367abd392505adc5c4
2020-02-21Merge "Update BlobStoreMS to augment storage stats with blobs data."Sudheer Shanka
2020-02-19Update BlobStoreMS to use LongSparseArray.removeIf(Predicate).Sudheer Shanka
Test: atest cts/tests/BlobStore/src/com/android/cts/blob/BlobStoreManagerTest.java Test: atest services/tests/mockingservicestests/src/com/android/server/blob/BlobStoreManagerServiceTest.java Change-Id: I5c8bf7f86cbdb9b3a11608cacee280b323a0027f
2020-02-19Merge "Return randomly generated session ids from createSession()."Sudheer Shanka
2020-02-19Update BlobStoreMS to augment storage stats with blobs data.Sudheer Shanka
- Any pending sessions data is attributed to the apps which contributed them. - Any commited blobs data is attributed to the app which has a lease on it. If multiple apps have lease on a blob, don't attribute the blob to those apps for now. - Remove StorageStatsAugmenter.augmentStatsForUser as it is not used for anything currently. - Fix an issue in how we override existing committers and leasees. Bug: 148694869 Test: atest cts/tests/BlobStore/src/com/android/cts/blob/BlobStoreManagerTest.java Test: atest tests/tests/os/src/android/os/storage/cts/StorageStatsManagerTest.java Test: atest hostsidetests/appsecurity/src/android/appsecurity/cts/StorageHostTest.java Test: manual Change-Id: Ia4af0a2549c75db66741f2d1979de95d2d150bc8
2020-02-19Merge "Don't error out if the index files are not available."Sudheer Shanka
2020-02-19Merge "Don't hold any locks while computing the blob digest."Sudheer Shanka
2020-02-19Don't error out if the index files are not available.Sudheer Shanka
... which is expected when there is no data contributed yet. Test: atest --test-mapping apex/blobstore Change-Id: Ib760a184fb17cb39d7d84378416c0e1fba390858
2020-02-19Merge "Allow lease expiry to be +ve when the corresponding blobs expiry is 0."Sudheer Shanka
2020-02-19Allow lease expiry to be +ve when the corresponding blobs expiry is 0.Sudheer Shanka
It is fine for an app to aquire a lease until a certain time even if the corresponding the blob doesn't have a expiry date associated with it. Fixes: 149789374 Test: atest --test-mapping apex/blobstore Change-Id: I76f7bdb616d78a5d83a8489a898f1e6015589f38
2020-02-18Don't hold any locks while computing the blob digest.Sudheer Shanka
Computing the digest could take long and there is no need to hold any locks for this. Test: atest --test-mapping apex/blobstore Change-Id: If986e90743a6fc244f3afb7615d6167790077d23
2020-02-18Read the sessionId value as long.Sudheer Shanka
Bug: 149782008 Test: atest CtsBlobStoreHostTestCases Change-Id: Ie3df317137fe1b88692e4a43744f66602cb17206
2020-02-18Return randomly generated session ids from createSession().Sudheer Shanka
Bug: 149324538 Test: atest cts/tests/BlobStore/src/com/android/cts/blob/BlobStoreManagerTest.java Test: atest ./services/tests/mockingservicestests/src/com/android/server/blob/BlobStoreManagerServiceTest.java Change-Id: I889c0cc0ebe8baef65f741a2f15c1e3201aec7d2
2020-02-17Re-enable BlobStorePerfTests.Sudheer Shanka
+ Add a shell command to delete a blob. Bug: 149324953 Test: atest apct-tests/perftests/blobstore/src/com/android/perftests/blob/BlobStorePerfTests.java Change-Id: Id83086614bd71335fdd461387a84f761b0d9edb7
2020-02-06Add a variant of acquireLease() which takes a string description.Sudheer Shanka
Bug: 148797775 Test: atest cts/tests/BlobStore/src/com/android/cts/blob/BlobStoreManagerTest.java Change-Id: I28df1e8a144d61732cdcbbcb6e6b096f22671bcf
2020-02-05Add perf test to measure duration of blob store digest computation.Sudheer Shanka
+ Move BlobStoreTestUtils from cts/ to frameworks/base/tests/. Bug: 148898557 Test: atest ./apct-tests/perftests/blobstore/src/com/android/perftests/blob/BlobStorePerfTests.java Change-Id: I2de155d0c0c1fb602c57353ba4819bdc9cda8c0a
2020-02-05Add verbose logging that can be eanbled to debug issues.Sudheer Shanka
Test: manual Change-Id: Ifaeaba404a8fc6a0d68a90f7330982a26a46486c
2020-02-05Schedule a maintenance job to clean up stale jobs.Sudheer Shanka
+ Fix a bug in BlobMetadata.hasLeases(). Bug: 148754858 Test: atest ./services/tests/mockingservicestests/src/com/android/server/blob/BlobStoreManagerServiceTest.java Test: adb shell cmd jobscheduler run --force android 191934935 Change-Id: I13499dd0327414bee62b8395c7e1fd349e325dd4
2020-02-01Add shell command to clear blobs data.Sudheer Shanka
+ Add arguments to allow blobstore dump data to be filtered. Test: manual Change-Id: Ida26ce1d3a09aa457885a869efc13f8d06781bd5
2020-02-01Merge "Delete blobs if there are no active leases on them."Sudheer Shanka
2020-01-31Delete blobs if there are no active leases on them.Sudheer Shanka
+ Fix a bug in how sessions belonging to uninstalled pkgs are removed. Bug: 148637068 Test: atest services/tests/servicestests/src/com/android/server/blob/BlobStoreManagerServiceTest.java Change-Id: I98cd9e974fb1a46bb5868a644b1a0d98ff61eb57
2020-01-31Merge "Validate input arguments to BlobStoreManager APIs."Sudheer Shanka
2020-01-29Validate input arguments to BlobStoreManager APIs.Sudheer Shanka
Bug: 148580257 Test: atest cts/tests/BlobStore/src/com/android/cts/blob/BlobStoreManagerTest.java Change-Id: Id272c4a9be3ec9300c8cc6d8abdcd287b4d6dacb
2020-01-25Extract strict literals into constants.Sudheer Shanka
Bug: 143559646 Test: atest cts/tests/BlobStore/src/com/android/cts/blob/BlobStoreManagerTest.java Change-Id: Id8ccd06bb08592138372fd1203dac51dfbc2e3eb
2020-01-23Delete sessions belonging to uninstalled packages.Sudheer Shanka
+ Remove uninstalled packages from committers, leasees list. Bug: 143559646 Test: atest ./hostsidetests/blobstore/src/com/android/cts/host/blob/DataCleanupTest.java Change-Id: I54d2777d92615a8bc1887e3e31c9d2d76d68bece
2020-01-23Persist committed blobs data and any pending sessions.Sudheer Shanka
+ Implement BlobStoreManager.Session.getSize(). Bug: 143559646 Test: atest CtsBlobStoreHostTestCases Change-Id: I34f4ace1293f4d5acc85b61dfb14c1e78d55a611
2020-01-22Add BlobStoreManager.Session.openRead().Sudheer Shanka
Bug: 143559646 Test: atest cts/tests/BlobStore/src/com/android/cts/blob/BlobStoreManagerTest.java Change-Id: I0188b4197da57644753507f5c7729eeddfec96b9
2020-01-20Implement BlobStoreManagerService.Sudheer Shanka
This change implements the following APIs with a few TODOs: - BlobStoreManager.{create,open,delete}Sesison() - BlobStoreManager.Session.{openWrite,openRead,close,abandon}() - BlobStoreManager.Session.allow*Access() - BlobStoreManager.Session.commit() - BlobStoreManager.openBlob() - BlobStoreManager.{acquire,release}Lease() Bug: 143559646 Test: atest cts/tests/BlobStore/src/com/android/cts/blob/BlobStoreManagerTest.java Change-Id: Id4eb8269f013b5c0ffca63c8251a2553e818091d
2020-01-16Add BlobStoreManager APIs.Sudheer Shanka
Apps can use these APIs to contribute data blobs to the blob store managed by the system. This would allow other apps which require the same data blob to access it from the system instead of re-acquiring the data blob and having another copy of it on disk. By sharing the data blob with other apps on device, apps can avoid taking the total blame for the disk space occupied by the data blob. Apps contributing the data blobs can do so by creating a blob store session and writing blob content to this session. This session can be opened/closed multiple times using it's id but once all the content has been written, it needs to be committed to be considered part of the blob store. Once committed, it is not allowed to make any more changes to this blob. Before committing the blobs, apps can specify what other apps the blob can be shared. [Implementation will be in a follow-up change] Bug: 143559646 Test: n/a Change-Id: If5b4cfb618c202a3f01b2d1b486501246c59d058
2019-11-07Add a new system service for blob store management.Sudheer Shanka
This change adds a bare-bones system service, implementation will follow later. Bug: 143559646 Test: atest cts/tests/BlobStore/src/com/android/cts/blob/BlobStoreManagerTest.java Change-Id: Idf21dfcd11dd32a42b62c6ad965d6f5ad7eed1b4