firebase / firebase/firebase-admin-java
Not meaningful timeout default values leading to hanging requests
- Dominant language
- Java
- Stars
- 620
- Forks
- 305
- Avg merge
- 3h 23m
- Merged PRs (30d)
- 1
Description
### [REQUIRED] Step 2: Describe your environment
* Operating System version: MacOS Sonoma 14.1.1
* Firebase SDK version: v9.2.0
* Library version: _____
* Firebase Product: Firebase Cloud Messaging
### [REQUIRED] Step 3: Describe the problem
Sometimes the Google Server do not respond (like described in #850 ). However, the default values to read timeout and connect timeout are "0" because they are default initialized with 0 in the FirebaseOptions. So these requests hang for infinite time.
#### Steps to reproduce:
Send a message via FCM and the SDK. If Google does not respond, there is not timeout.
#### Fix:
Provide meaningful default values like 20s. This is the default in the Google HTTP Client (com.google.api.client.http.HttpRequest#readTimeout).
Contributor guide
Research direction
Start by tracing how FirebaseOptions initializes the read and connect timeout values used for Firebase Cloud Messaging requests, and compare them with the Google HTTP Client defaults. Done means requests no longer hang indefinitely when Google does not respond and tests cover the chosen default timeout behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100