Comments (5)
Fix available at
https://code.google.com/r/gperrot-gcm/source/detail?r=1219eed29bad46a5817da15858
c8c15088459efb
Original comment by [email protected]
on 4 Sep 2012 at 1:55
from gcm.
Sender should retry in the following scenarios (where it currently doesn't):
- error 500 on plain-text post
- IOException on plain-text post
- InternalServerError error code on JSON post
- IOException on JSON post
We'll fix it for next release.
Original comment by [email protected]
on 4 Sep 2012 at 4:44
- Changed title: Sender methods are not retrying on all scenarios
from gcm.
Hi,
Thanks for the review.
Please also consider the "Google Proxy" 502 error which tells us to retry in
30s:
{{{
<!DOCTYPE html>
<html lang=en>
<meta charset=utf-8>
<meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
<title>Error 502 (Server Error)!!1</title>
<style>
*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}
</style>
<a href=//www.google.com/><img src=//www.google.com/images/errors/logo_sm.gif alt=Google></a>
<p>502. <ins>That’s an error.</ins>
<p>The server encountered a temporary error and could not complete your request.<p>Please try again in 30 seconds. <ins>That’s all we know.</ins>
}}}
All kind of 50x errors should be processed the same way I guess (check for
Retry-After header or use exponential back off if missing).
Original comment by [email protected]
on 7 Sep 2012 at 9:54
from gcm.
Fixed on
https://code.google.com/p/gcm/source/detail?r=86d3988d4cedbd5833c211043eb4616dbc
a2c768
Original comment by [email protected]
on 14 Sep 2012 at 9:06
- Changed state: Fixed
from gcm.
4XX errors are also retried, like invalid TTL:
IOException on attempt 1 : HTTP Status Code: 400(Invalid value (2419201) for
"time_to_live": must be between 0 and "2419200")
IOException on attempt 2 : HTTP Status Code: 400(Invalid value (2419201) for
"time_to_live": must be between 0 and "2419200")
4XX should be fatal.
Original comment by [email protected]
on 4 Dec 2012 at 2:33
from gcm.
Related Issues (20)
- GCM with Play Services on Android on registration gets a SERVICE_NOT_AVAILABLE
- com.google.android.gcm.GCMRegistrar missing from the latest google_play_services.jar
- Patch for /gcm-client/src/com/google/android/gcm/demo/app/DemoActivity.java
- gcm push got success in server side but it is not delivered to android mobile HOT 3
- [Inquiry] In which cases do GCM server return 'NotRegistered'?
- In reality, android.permission.GET_ACCOUNTS is not needed on any OS version! HOT 1
- Unable to instantiate receiver GcmBroadcastReceiver HOT 4
- How can i get registration ID for my Nexsus?
- Missing Socket Timeout HOT 1
- support application specific GCM thottling threshold
- Cannot get registration id from GCM in restricted profile HOT 1
- message was not delivered into phone...
- Patch for /samples/gcm-demo-server/WebContent/WEB-INF/classes/api.key
- Spurious NotRegistered Error responses from GCM servers HOT 5
- Documentation for migration from C2DM needs updating for Android 5.0
- GCM not Registered Issue HOT 1
- Google Cloud Messaging (GCM) duplicates and loses some messages
- Patch for /samples/gcm-demo-client/src/com/google/android/gcm/demo/app/DemoActivity.java
- "Generate a Notification Key on the Client" results in HTTP 401 Unauthorized response HOT 3
- ANR keyDispatchingTimedOut
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gcm.