Skip to content

Commit

Permalink
Merge pull request #36 from androidx/emptyentries
Browse files Browse the repository at this point in the history
Add protection for 0 byte cache entries
  • Loading branch information
tikurahul authored Oct 12, 2023
2 parents 81d6c8d + 0b8fa2c commit 2b5c653
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ internal class GcpBuildCacheService(
}

override fun store(key: BuildCacheKey, writer: BuildCacheEntryWriter) {
if (writer.size == 0L) return // do not store empty entries into the cache
logger.info("Storing ${key.blobKey()}")
val cacheKey = key.blobKey()
val output = ByteArrayOutputStream()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ internal class GcpStorageService(
}

override fun store(cacheKey: String, contents: ByteArray): Boolean {

if (!isEnabled) {
logger.info("Not Enabled")
return false
Expand Down Expand Up @@ -123,7 +122,10 @@ internal class GcpStorageService(
if (storage == null) return null
return try {
val blob = storage.service.get(blobId) ?: return null
return if (blob.size > sizeThreshold) {
return if (blob.size == 0L) {
// return empty entries as a cache miss
null
} else if (blob.size > sizeThreshold) {
val path = FileHandleInputStream.create()
blob.downloadTo(path)
path.handleInputStream()
Expand Down

0 comments on commit 2b5c653

Please sign in to comment.