firebase / firebase/firebase-android-sdk

Firebase Storage `ref.delete()` is emitting exception

Open
#5,836 4 comments 3 reactions 0 assignees View on GitHub
api: storage type: feature request
Dominant language
Java
Stars
2.6k
Forks
710
Avg merge
2d 23h
Merged PRs (30d)
34

Description

### [READ] Step 1: Are you in the right place?

Issues filed here should be about bugs in __the code in this repository__.
If you have a general question, need help debugging, or fall into some
other category use one of these other channels:

* For general technical questions, post a question on [StackOverflow](http://stackoverflow.com/)
with the firebase tag.
* For general Firebase discussion, use the [firebase-talk](https://groups.google.com/forum/#!forum/firebase-talk)
google group.
* For help troubleshooting your application that does not fall under one
of the above categories, reach out to the personalized
[Firebase support channel](https://firebase.google.com/support/).

### [REQUIRED] Step 2: Describe your environment

* Android Studio version: 2022.3.1
* Firebase Component: Storage (Database, Firestore, Storage, Functions, etc)
* Component version: 20.3.0

### [REQUIRED] Step 3: Describe the problem

If you try to delete a reference that does not exist, an exception is still emitted even when using `addOnCompleteListener` or `addOnFailureListener` listener .

The logs might be intended but it's not something I've seen often in other API failures on firebase android.

Logcat logs

```
2024-04-05 08:15:35.822 14354-17160 StorageException io....lugins.firebasestorageexample E StorageException has occurred.
Object does not exist at location.
Code: -13010 HttpResult: 404
2024-04-05 08:15:35.826 14354-17160 StorageException io....lugins.firebasestorageexample E { "error": { "code": 404, "message": "Not Found." }}
java.io.IOException: { "error": { "code": 404, "message": "Not Found." }}
at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:415)
at com.google.firebase.storage.network.NetworkRequest.parseErrorResponse(NetworkRequest.java:432)
at com.google.firebase.storage.network.NetworkRequest.processResponseStream(NetworkRequest.java:423)
at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:265)
at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:282)
at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:76)
at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
at com.google.firebase.storage.DeleteStorageTask.run(DeleteStorageTask.java:59)
at com.google.firebase.concurrent.LimitedConcurrencyExecutor.lambda$decorate$0$com-google-firebase-concurrent-LimitedConcurrencyExecutor(LimitedConcurrencyExecutor.java:65)
at com.google.firebase.concurrent.LimitedConcurrencyExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0$com-google-firebase-concurrent-CustomThreadFactory(CustomThreadFactory.java:47)
at com.google.firebase.concurrent.CustomThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
at java.lang.Thread.run(Thread.java:919)
```

#### Steps to reproduce:

1. Run the code below
2. See above noted logs in logcat.

#### Relevant Code:

Java snippet:

```java
FirebaseStorage.getInstance().getReference().child("non-existent-ref.png")
.delete()
.addOnCompleteListener(
task -> {
if (task.isSuccessful()) {
Log.d("tag", "referenceDelete: success");
} else {
Log.d("tag", "referenceDelete: failed");
}
}).addOnFailureListener(e -> {
Log.d("tag", "referenceDelete: addOnFailureListener" + e);
});
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.